How TPMJS Compares

TPMJS is an npm-native registry with automated tool discovery, schema extraction, and MCP serving. Here's how the architecture differs from the alternatives.

Architecture at a Glance

How each approach handles distribution, protocol, schema management, execution, and discovery.

TPMJSLangChainCustom MCPComposioManual
Distributionnpm packagesFramework-bundledSelf-hosted serversHosted SaaS APIInline code
ProtocolMCP (JSON-RPC 2.0)LangChain adaptersMCP (custom impl)Proprietary RESTVendor-specific
Schema formatZod + JSON Schema (auto)LangChain tool classJSON Schema (manual)Composio SDK typesJSON Schema (manual)
ExecutionLocal or pluggable executorLangChain runtimeYour server processComposio cloudYour process
DiscoveryBM25 search + categoriesDocs / sourceNoneComposio catalogNone
Quality signalScored (0-1.0)NoneNoneNoneNone

How TPMJS Works Under the Hood

Discovery Pipeline

A three-phase async pipeline monitors the npm changes feed, extracts JSON schemas from tool exports, and calculates quality scores using npm downloads and GitHub stars on a logarithmic scale.

MCP Protocol

Collections are served as JSON-RPC 2.0 endpoints with HTTP and SSE transports. Supports tools/list, tools/call, and initialize methods with API key authentication and per-key rate limiting.

Pluggable Executors

Tools execute via a default Railway-hosted executor or any custom HTTPS endpoint. The executor contract accepts a package name, tool name, params, and env vars — and returns output with execution time.

Ready to try TPMJS?

Browse the registry, install a tool, and integrate it into your agent in minutes.