Publish Your AI Tool
Share your tool with the world. Automatic discovery, quality scoring, and AI agent integration.
Manual Setup
Prefer to set up manually? Follow these steps:
- Create a new NPM package
- Add
tpmjsto keywords - Add a
tpmjsfield with metadata - Publish to NPM
- Your tool appears on tpmjs.com within 15 minutes!
Step 1: Add Required Keyword
Add the tpmjs keyword to your package.json. This is required for automatic discovery.
{
"name": "@yourname/my-awesome-tool",
"version": "1.0.0",
"keywords": ["tpmjs", "ai", "text"],
...
}Step 2: Add TPMJS Metadata
Add a tpmjs field to your package.json. TPMJS automatically extracts parameter schemas from your tool code, so you only need to provide basic metadata.
Automatic Schema Extraction
TPMJS automatically extracts your tool's input schema by analyzing your code. You don't need to manually document parameters, returns, or AI agent guidance in package.json - we extract it from your Zod schema automatically.
Auto-Discovery of Tools
You can omit the tools array entirely! TPMJS will automatically scan your package exports and register any export that has description and execute properties (standard AI SDK tool format).
{
"name": "@yourname/my-awesome-tool",
"keywords": ["tpmjs"],
"tpmjs": {
"category": "text-analysis"
}
}That's it! Tools and parameters are automatically discovered and extracted.
{
"name": "@yourname/sentiment-tool",
"keywords": ["tpmjs"],
"tpmjs": {
"category": "text-analysis",
"frameworks": ["vercel-ai", "langchain"],
"env": [
{
"name": "SENTIMENT_API_KEY",
"description": "API key for sentiment analysis service",
"required": true
}
],
"tools": [
{
"name": "sentimentAnalysisTool",
"description": "Advanced sentiment analysis with emotion detection"
}
]
}
}Add tools to explicitly register specific tools. Add env for API keys and frameworks for compatibility info.
Available Categories
text-analysisNLP, sentiment, summarization
code-generationCode generation and transformation
data-processingData manipulation and transformation
image-generationImage creation and editing
audio-processingAudio/speech processing
searchSearch and retrieval
integrationThird-party integrations
otherAnything else
Step 3: Publish to NPM
Build your package and publish it to NPM. Your tool will be automatically discovered within 15 minutes.
# Build your package
npm run build
# Publish to NPM (use --access public for scoped packages)
npm publish --access public
# That's it! Your tool will appear on tpmjs.com soonQuality Score
Your tool gets a quality score based on three factors:
Tier
- Rich: 4x multiplier
- Basic: 2x multiplier
- Minimal: 1x multiplier
Downloads
Logarithmic scale based on monthly NPM downloads
GitHub Stars
Logarithmic scale based on repository stars
Real Example
Here is a complete example from @tpmjs/createblogpost:
{
"name": "@tpmjs/createblogpost",
"version": "0.2.0",
"keywords": ["tpmjs", "blog", "content"],
"tpmjs": {
"category": "text-analysis",
"frameworks": ["vercel-ai", "langchain"],
"tools": [
{
"name": "createBlogPostTool",
"description": "Creates structured blog posts with frontmatter and SEO metadata"
}
]
}
}Note: Parameters are automatically extracted from the tool code - no need to list them in package.json! You can also omit the tools array entirely for auto-discovery.
Tips for Success
Use descriptive names
Make your package name clear and searchable
Good Zod schemas
Add descriptions to your Zod schema fields - they get auto-extracted
Good documentation
Add documentation URL to package.json homepage or repository fields
Active maintenance
Regular updates boost download counts
Document env vars
List required API keys in the env field so users know what they need
Ready to Publish?
Follow the steps above and your tool will be live on TPMJS within 15 minutes.