Skip to content
Conduit

mcp server

Toolrator

Open-source MCP ecosystem: @toolrator/toolconnector (agent-to-server bridge), toolhub (typo-tolerant MCP search), toolpanel (web UI). Protocol: MCP 2026-07-28

toolrator/Toolratorcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • Node.js 20 or newer
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "toolrator-toolrator": {
      "command": "npx",
      "args": [
        "-y",
        "@toolrator/toolpanel"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 17, 2026

The local-first discovery layer for AI agents.
@toolrator/toolconnector runs on your machine and bridges a stdio MCP client to search backends and external servers. Requests go to the endpoints you choose.

Current interface: Toolconnector 0.4.1 exposes three tools and OAuth login. Toolpanel 0.3.0 provides local configuration without the legacy device flow.



🚀 Highlights

🧠 MCP 2026-07-28 (official)Built on the stateless protocol revision — SEP-2575, MRTR, Tasks extension, Streamable HTTP
🔌 Local MCP BridgeConnect a stdio MCP client to remote servers and configured search engines
🔍 Typo-Tolerant SearchMeiliSearch + ONNX hybrid vector search for finding MCP servers and tools
🏠 Self-HostableRun Toolpanel + Toolhub locally; remote servers still need network access
📋 3-Tool SurfaceSearch, inspect/execute, and authentication
🔄 Auto-FallbackWorks with both 2026-07-28 and legacy 2025-11-25 servers

📋 Overview

This repository publishes the open-source client and discovery infrastructure for the Model Context Protocol. Three packages, one ecosystem:

🔐 Authentication: The default upstream is https://toolrator.org, with OAuth login and search configuration. Local Toolpanel provides configuration and accepts a non-empty machine credential; it does not implement an OAuth authorization server. Bind it only to loopback.

PackageTypeRunDescription
🔌 toolconnectorNPM CLI & Librarynpx -y @toolrator/toolconnectorLocal stdio MCP bridge — connects AI agents to search backends and external MCP servers
🛠️ toolpanelNPM CLI & Packagenpx -y @toolrator/toolpanelLocal control panel — search-engine config and admin UI; no authentication
🔍 toolhubServer Packagenpm run devTypo-tolerant + hybrid vector search engine — MeiliSearch or in-memory backend

📦 Packages

🔌 @toolrator/toolconnector

npm Tests TypeScript

The universal MCP adapter. A stdio server that exposes 3 unified tools to any MCP-compatible AI client:

ToolPurposeKey Parameters
search_mcp_ecosystemSearch registry for tools, resources, promptsengine, arguments
mcp_serverGeneric JSON-RPC passthrough to any external MCP (list, call, fetch, tasks)target, method, params
manage_authOAuth login, status, and logoutaction, target, redirect_url
—MRTR support, Tasks extension, Pluggable search engines

🛠️ @toolrator/toolpanel

npm TypeScript

Local control panel for toolconnector and toolhub. Configure search engines and manage your own index. No built-in authentication; keep it on loopback.

FeatureEndpointDescription
Landing page/Status-aware cards for toolconnector & toolhub
Connector config/panel/toolconnectorCRUD for search-engines.json
Public search/panel/searchQueries toolhub with faceted filters
Search admin/panel/search/adminIndex / edit / delete MCP servers

🔍 @toolrator/toolhub

TypeScript

High-performance search engine with typo tolerance, faceted filtering, and hybrid vector search.

  • Two backends: MeiliSearch (production) or in-memory (dev)
  • ONNX embeddings: Xenova/multilingual-e5-small — 384-dim local vector search
  • Tool-level matching: toolHits extracted from capabilities.tools
  • LRU caching: Search results (60s) and query embeddings (1h)

🏗️ Architecture

graph TB
    subgraph Client["💻 Client Machine"]
        Agent["🤖 AI Agent / IDE<br/>Claude · Cursor · Custom"]
        style Agent fill:#1a1a2e,stroke:#7c3aed,stroke-width:2px,color:#fff
        Agent <-->|stdio JSON-RPC| TC["🔌 @toolrator/toolconnector"]
        style TC fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff
    end

    subgraph SelfHosted["🏠 Self-Hosted"]
        TC <-->|HTTP / Auto-Discovery| TP["🛠️ @toolrator/toolpanel"]
        style TP fill:#1a1a2e,stroke:#e94560,stroke-width:2px,color:#fff
        TP <-->|Proxy Search| SE["🔍 @toolrator/toolhub"]
        style SE fill:#16213e,stroke:#e94560,stroke-width:2px,color:#fff
        SE <-->|Vector + Lexical| Meili["📦 MeiliSearch / Memory"]
        style Meili fill:#0f3460,stroke:#533483,stroke-width:2px,color:#fff
    end

    subgraph External["🌐 External"]
        TC <-->|Streamable HTTP / SSE| M1["MCP Server A"]
        TC <-->|Streamable HTTP| M2["MCP Server B"]
        TC <-->|Streamable HTTP| M3["MCP Server C"]
    end

⚡ Quick Start

Connect an AI client

Add this to your MCP client configuration (Node.js ≥20):

{
  "mcpServers": {
    "toolconnector": {
      "command": "npx",
      "args": ["-y", "@toolrator/toolconnector@0.4.1"]
    }
  }
}

Restart the client, then ask it to run manage_auth with action: "start_oauth" and show the verification URL. After approving login, ask it to search the configured catalog. Results depend on the servers listed by that search engine.

Server developers: see the publication guide to list an existing reachable MCP endpoint.

🐳 Optional: Run the search stack locally

Requires Node.js ≥22.9 for Toolpanel and the Toolhub development scripts. Clone https://github.com/toolrator/Toolrator.git first; use separate terminals for the services.

cd packages/toolhub
npm install
SEARCH_BACKEND=memory npm run dev
# → http://127.0.0.1:7600
npx -y @toolrator/toolpanel@0.3.0
# → http://127.0.0.1:7800

Add to your MCP client config:

{
  "mcpServers": {
    "toolconnector": {
      "command": "npx",
      "args": ["-y", "@toolrator/toolconnector@0.4.1"],
      "env": {
        "TOOLPANEL_URL": "http://127.0.0.1:7800",
        "CONNECTOR_SEARCH_CONFIG_MODE": "toolpanel",
        "CONNECTOR_API_KEY": "toolpanel-local"
      }
    }
  }
}

💡 Local configuration: In the MCP client's env block, set TOOLPANEL_URL=http://127.0.0.1:7800, CONNECTOR_SEARCH_CONFIG_MODE=toolpanel, and CONNECTOR_API_KEY=toolpanel-local. Toolpanel accepts any non-empty credential. An empty local index returns no servers; populate your own index through the panel. Remote MCP endpoints still require network access.


✅ Protocol Compliance

The Toolrator OSS stack is built against MCP 2026-07-28 — the official stable revision of the Model Context Protocol (released 2026-07-28). The matrix below tracks what is implemented and tested; deferred and not-applicable rows are marked as such.

FeatureSEPStatusDetail
Stateless protocol (no initialize)SEP-2575✅Per-request _meta carries protocolVersion, clientCapabilities
server/discover RPCSEP-2575✅Auto-probed on every connection
Streamable HTTP transportSEP-2243✅Primary transport; SSE fallback for legacy
Multi Round-Trip RequestsSEP-2322✅input_required / inputResponses / requestState
Tasks extensionSEP-2663✅tasks/get, tasks/update, tasks/cancel
CacheableResult (ttlMs/cacheScope)SEP-2549✅Client-side caching on tools/list, resources/list, prompts/list
JSON Schema 2020-12SEP-2106✅Default dialect; outputSchema on tool definitions
Error codes -32020/-32021/-32022—✅Classified by classifyUpstreamError()
x402 paymentsSEP-2009⏳Deferred — awaiting spec stabilization
OpenTelemetry tracingSEP-414➖N/A (optional)

See packages/toolconnector/MCP-FEATURES.md for the complete 185-line matrix covering all 13 feature areas — base protocol, transport, state management, caching, MRTR, Tasks, error codes, auth, schema, subscriptions, deprecated features, SDK migration, and payments roadmap.

Servers running 2025-11-25 are handled automatically. The SDK's versionNegotiation: { mode: 'auto' } probes via server/discover first; if the server doesn't support the 2026-07-28 revision, it falls back to the initialize handshake transparently.


⚙️ Configuration

VariableDefaultPurpose
CONNECTOR_API_KEY—Pre-configured machine credential
CONNECTOR_CONFIG_DIROS defaultCredentials, search-engines
CONNECTOR_UPSTREAM_URLhttps://toolrator.orgAuth endpoint base URL
TOOLPANEL_URLhttp://127.0.0.1:7800Self-hosted control panel URL
TOOLPANEL_DISCOVERYautoProbe toolpanel at boot
CONNECTOR_SEARCH_CONFIG_MODEautoEngine resolution strategy
CONNECTOR_LOG_LEVELinfoLog verbosity
OSConfig Directory
Windows%APPDATA%\toolconnector\
macOS~/Library/Application Support/toolconnector/
Linux$XDG_CONFIG_HOME/toolconnector/ or ~/.config/toolconnector/

❓ FAQ


🤝 Contributing

We welcome contributions from humans and AI agents alike.

StepAction
1Clone the repo and cd packages/<package>
2npm install
3Make your changes
4Run tests: npm test (Node.js built-in node --test, no Jest/Vitest)
5Typecheck: npm run typecheck
6Open a PR against main

📄 License

Apache 2.0 · open infrastructure · no lock-in

↑↓ navigate openesc close