The tpmjs field in package.json describes your
- tool's capabilities.
+ tool. TPMJS automatically extracts parameter schemas from your tool code, so you
+ only need to provide basic metadata.
+ ✨ Auto Schema Extraction: Parameters + are automatically extracted from your tool's Zod inputSchema - no need to + document them manually! +
+- There are three tiers of metadata. Higher tiers get better visibility and quality - scores. + TPMJS now auto-extracts parameter schemas, simplifying what you need to provide.
- Required fields only: category,{' '}
- description,{' '}
- exportName
+ category,{' '}
+ tools (with{' '}
+ exportName +{' '}
+ description)
- + parameters and{' '}
- returns documentation
+ env (API keys),{' '}
+ frameworks (compatibility)
- + env,{' '}
- frameworks,{' '}
- aiAgent (useCase, limitations, examples)
+ parameters,{' '}
+ returns,{' '}
+ aiAgent - extracted from your tool code
- TPMJS supports three metadata tiers, each providing different levels of detail and - affecting your tool's quality score: + 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.
- Higher tiers get better quality scores and more visibility in search results. Learn - more on our{' '} - - publishing guide - - . + This simplifies publishing - you only need to provide category, description, and + exportName. See our{' '} + + specification + {' '} + for details.
+ Parameters are automatically extracted from your tool code - no need to list them + manually! +
- Every discovered package is validated against the TPMJS schema: + Every discovered package is validated and its schema is automatically extracted:
- There are three tiers of metadata. Higher tiers get better visibility and quality
- scores.
+ 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.
+ 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. +
+- Quality Score: 1x base multiplier -
- Quality Score: 2x base multiplier + That's it! Parameters are automatically extracted from your tool code.
- Quality Score: 4x base multiplier 🚀
+ Add env for API keys and{' '}
+ frameworks for compatibility info.
+ Note: Parameters are automatically extracted from the tool code - no need to list them + in package.json! +
{/* Tips */} @@ -378,9 +331,9 @@ npm publish --access public desc: 'Make your package name clear and searchable', }, { - icon: '📊', - title: 'Complete metadata', - desc: 'Rich tier tools get 4x better visibility', + icon: '✨', + title: 'Good Zod schemas', + desc: 'Add descriptions to your Zod schema fields - they get auto-extracted', }, { icon: '📚', @@ -393,9 +346,9 @@ npm publish --access public desc: 'Regular updates boost download counts', }, { - icon: '🤖', - title: 'AI-friendly descriptions', - desc: 'Write aiAgent.useCase as guidance for AI agents', + icon: '🔑', + title: 'Document env vars', + desc: 'List required API keys in the env field so users know what they need', }, ].map((tip) => (tpmjs field in
- package.json with three tiers of metadata. Higher tiers receive better visibility and
- quality scores.
+ package.json. TPMJS automatically extracts parameter schemas from your tool code, so
+ you only need to provide basic metadata.
- {/* Tier 1: Minimal */}
+ {/* Auto-extraction callout */}
+ + TPMJS automatically extracts your tool's input schema (parameters) by + analyzing your code when it syncs. You no longer need to manually document + parameters, returns, or AI agent guidance in package.json. +
++ Auto-extracted from your Zod schema +
++ Derived from inputSchema automatically +
++ Shows extracted schema with source badge +
+description *
+ tools *
- Clear description of what the tool does. Must be 20-500 characters. This - appears in search results and tool listings. +
+ Array of tools exported by your package. Each tool needs:
+exportName - The exported
+ function name (required)
+ description - What the tool does,
+ 20-500 chars (required)
+ + That's it! TPMJS will automatically extract the inputSchema from your + tool when it syncs. +
parameters
- - Array of parameter objects describing function inputs. Each parameter has: -
-name - Parameter name
- type - TypeScript type
- description - What it does
- required - Boolean
- default - Default value
- (optional)
- returns
- - Object describing the return value: -
-type - Return type
- description - What is returned
- required - Boolean (defaults to
true)
- default - Default value if not
- provided (optional)
- aiAgent
- - AI agent integration guidance. Helps LLMs understand when and how to use - your tool: -
-useCase - When to use this tool
- (min 10 chars, required)
- limitations - Known constraints
- (optional)
- examples - Array of example use
- cases (optional)
- + The following fields are now automatically extracted from your tool code. You no + longer need to specify them manually: +
+
+ parameters
+
+ → Auto-extracted from tool's Zod inputSchema
+ returns
+ → Auto-extracted from tool definition
+ aiAgent
+ → Auto-extracted from tool metadata
+ + If auto-extraction fails, TPMJS will fall back to any manually provided values. +
++ When TPMJS syncs your package, it automatically extracts your tool's inputSchema + by loading and inspecting your tool in a sandboxed environment. +
++ Schema is extracted automatically when your package is discovered or updated +
++ Tool pages show whether schema was "Auto-extracted" or + "Author-provided" +
++ Users can trigger re-extraction from the tool page if needed +
+inputSchema property is read from
+ your exported tool
+ category
description
- parameters
+ tools
returns
+ Array of tool definitions (exportName + description)
env
frameworks
aiAgent
+ parameters
returns
+ aiAgent
+