Frequently Asked Questions

Everything you need to know about publishing, using, and contributing to the TPMJS registry.

What is TPMJS?

TPMJS (Tool Package Manager for JavaScript) is a registry and discovery platform for AI agent tools. It helps developers publish, share, and discover tools that can be used by AI agents to perform tasks like text analysis, code generation, data processing, and more.

Think of it as npm for AI tools. Developers publish tools to npm with the tpmjs-tool keyword, and TPMJS automatically syncs them to our registry where they can be discovered by AI agents and developers.

How do I publish a tool?

Publishing a tool to TPMJS is simple:

  1. Add the tpmjs-tool keyword to your package.json
  2. Add a tpmjs field with metadata (category, frameworks, tools)
  3. Publish your package to npm
  4. Your tool appears on tpmjs.com within 15 minutes

For detailed instructions, check out our publishing guide. We also provide a package generator to get started quickly:

npx @tpmjs/create-basic-tools
How does automatic schema extraction work?

TPMJS automatically extracts your tool's input schema (parameters) by loading and analyzing your tool code in a sandboxed environment. This means you don't need to manually document parameters in package.json.

  • During sync - When your package is discovered or updated, TPMJS loads it via esm.sh and reads the inputSchema from your exported tool.
  • Schema source badge - Tool pages show whether the schema was "Auto-extracted" or "Author-provided" (fallback).
  • Manual re-extraction - Users can trigger re-extraction from the tool page if needed.

This simplifies publishing - you only need to provide category, description, and name. See our specification for details.

How does tool health checking work?

TPMJS automatically monitors the health of all tools in the registry by periodically checking:

  • Package availability: Verifies the package still exists on npm
  • Metadata validity: Ensures the tpmjs field meets schema requirements
  • Version freshness: Checks if the tool is being actively maintained

Tools that fail health checks are flagged on the registry and may be hidden from search results until the issues are resolved. This ensures AI agents only use reliable, well-maintained tools.

What is the quality score?

The quality score is a calculated metric (0.0 to 1.0) that ranks tools based on three factors:

  1. 1. Metadata Tier (60% weight):
    • Rich tier: 4x multiplier (0.6 base score)
    • Basic tier: 2x multiplier (0.4 base score)
    • Minimal tier: 1x multiplier (0.2 base score)
  2. 2. NPM Downloads (30% weight): Logarithmic scale based on monthly downloads (max 0.3 points)
  3. 3. GitHub Stars (10% weight): Logarithmic scale based on repository stars (max 0.1 points)

Higher quality scores mean better visibility in search results. The best way to improve your score is to use the Rich metadata tier and maintain good documentation.

Is TPMJS free to use?

Yes, TPMJS is completely free and open source for both publishers and users. You can:

  • Publish unlimited tools to the registry
  • Browse and search all tools without authentication
  • Use tools in your AI agents and applications
  • Contribute to the project on GitHub

There are no paid tiers, rate limits, or premium features. TPMJS is funded by the community and maintained as a public good for the AI ecosystem.

How often are tools synced from npm?

TPMJS uses multiple automated sync strategies to keep the registry up-to-date:

  • Changes Feed Sync (every 2 minutes): Monitors npm's real-time changes feed to catch new packages and updates immediately
  • Keyword Search (every 15 minutes): Actively searches for packages with the tpmjs-tool keyword
  • Metrics Sync (every hour): Updates download statistics and recalculates quality scores

This means your tool will typically appear on tpmjs.com within 2-15 minutes of publishing to npm, with metrics updating hourly.

Can I use TPMJS tools with any AI agent?

Yes! TPMJS tools are framework-agnostic and can be used with any AI agent system. Each tool package specifies which frameworks it officially supports in the frameworks field, such as:

  • Vercel AI SDK (vercel-ai)
  • LangChain (langchain)
  • OpenAI Function Calling
  • Claude Tool Use
  • Custom frameworks

Many tools provide adapter functions for multiple frameworks. Check the tool's documentation for specific integration examples. Tools with Rich metadata tier include detailed usage guidance for AI agents.

How do I report a broken or malicious tool?

If you discover a broken or malicious tool, please report it immediately:

TPMJS takes security seriously. Reported tools will be investigated and flagged or removed from the registry if necessary.

Where can I get help?

We're here to help! Here are the best ways to get support:

We also recommend checking out our publishing guide and specification docs for detailed technical documentation.

Still have questions?

Can't find what you're looking for? Reach out to us on GitHub or Twitter and we'll be happy to help.