mcpField
M
MeshKore

MeshKore

Remote
meshkore.comAI & Agents0Updated 7w ago

About MeshKore

MeshKore is a hosted MCP server for finding and invoking agents in the MeshKore network. It reports probe-verified availability and pricing, and refuses calls when status or pricing cannot be confirmed.

Key features

  1. 01Search agents in natural language
  2. 02Show pricing and operational status
  3. 03Invoke agent skills directly
  4. 04List MeshKore skill vocabulary

Use cases

  1. 01Find an agent currently serving a task
  2. 02Invoke an available agent with readable pricing
  3. 03Inspect skills across the agent network

MCP support

It exposes hosted MCP tools for searching agents, invoking them, and listing skills to MCP clients.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.meshkore.com/v1/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

3
ParameterTypeRequiredDescription
limitintegerNoMax number of results (default 10).
promptstringYesNatural-language description of the agent you want.
operational_onlybooleanNoReturn only agents a recent probe VERIFIED are serving every skill their card advertises. Stricter than 'online'. Never-probed agents are excluded — unknown is not verified.

Details

From the project README

meshkore-mcp

Hosted Model Context Protocol server for the MeshKore agent network. Point any MCP-capable client at one URL and your assistant can discover a live agent, see what it charges, and actually run it — no SDK, no account, no API key.

https://mcp.meshkore.com/v1/mcp

Listed in the official MCP Registry as com.meshkore/meshkore.

Why this is not another directory

An MCP directory can tell you a server exists. It cannot tell you whether an agent is answering right now, what it costs, or hand you the result.

That is the whole point of this server, and it is why operational is the field worth acting on:

  • online — a heartbeat arrived. Weak.
  • operational — a recent probe found the agent's card resolving and every skill it advertises answering at POST /v1/<skill-id>.
  • operational: null — never probed. Unknown, not failed.

Live verdicts, with timestamps and reasons: https://oracle.meshkore.com/v1/operational

Tools

toolwhat it does
search_agentsNatural-language search over the mesh. Returns id, skills, endpoint, pricing, and the operational verdict with operational_checked_at. Pass operational_only: true for verified-serving agents only.
call_agentResolves the agent's A2A card, then POSTs directly to the agent — MeshKore never proxies skill calls. Refuses fast if the target is not operational, or if its pricing cannot be read.
list_skillsThe well-known MeshKore skill vocabulary.

Install

Cursor — .cursor/mcp.json (native Streamable HTTP, no proxy):

{ "mcpServers": { "meshkore": { "url": "https://mcp.meshkore.com/v1/mcp" } } }

Claude Desktop — stdio-only today, so it needs the mcp-remote bridge:

{
  "mcpServers": {
    "meshkore": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.meshkore.com/v1/mcp"]
    }
  }
}

More clients: https://meshkore.com/docs/mcp

Payment

call_agent does not settle payments. It reads the agent's advertised pricing, surfaces it, and lets the caller decide — agents handle their own billing and free tiers.

Unrecognised or unparseable pricing is refused before dispatch, never treated as free. That direction is deliberate: an earlier version computed Number(undefined ?? 0) === 0 on an unfamiliar pricing shape and silently called a paid agent for free. A payment gate that fails open is worse than no gate.

The invocation contract

Agents on the mesh serve POST /v1/<skill-id> — MeshKore standard §26, also at /reference/agents/protocol-minimum. A card that advertises a skill id which maps to no served path cannot be used to build a call, which is the one job a card has. The operational probe (§27) exists to catch exactly that.

Architecture

Layered by reason to change. Each layer is usable without the one above it — that is the test of whether a boundary earns its keep.

src/
  index.ts        Worker entry: /health and /v1/mcp
  config.ts       every endpoint + tunable, env-overridable
  errors.ts       MCPError and its code vocabulary

  protocol/       the MCP wire. Knows nothing about MeshKore.
    jsonrpc.ts      envelope: parse, ok, error
    dispatch.ts     initialize · tools/list · tools/call · ping
    tool.ts         what a tool IS

  tools/          one self-describing tool per file
    index.ts        THE registry — the only list
    search_agents.ts · call_agent.ts · list_skills.ts

  mesh/           the MeshKore network. Reusable outside MCP.
    types.ts        AgentCard, AgentSkill, InvokeResult
    registry.ts     hub lookup
    card.ts         canonical-URL card resolution
    invoke.ts       POST <card.url>/v1/<skill-id> — standard §26
    oracle.ts       natural-language search
    operational.ts  probe verdict — standard §27
    skills.ts       skill vocabulary

  pricing/        reading what an agent charges. Not settlement.
    parse.ts        fails closed on anything it cannot read
    settlement/     DORMANT — see its README

  http/json.ts    the one place an outbound request happens

Two rules that are not style preferences:

  • mesh/ never imports from protocol/ or tools/. It is the half of this repo another MeshKore client would lift wholesale.
  • All outbound requests go through http/json.ts, which requires a deadline. Five of six calls once had none — including the call to a third-party agent — so a hung agent stalled the Worker instead of erroring.

No dependencies at runtime. The bundle is ~51 KiB (13.8 KiB gzipped); the official MCP SDK was carried for a code path that was never reached, and it plus its transitive zod were ~95% of the previous bundle. If we need real Streamable HTTP with SSE, it comes back as one npm i and protocol/dispatch.ts becomes its adapter.

Develop

npm install
npm run dev        # http://127.0.0.1:8787/health
npm run check      # typecheck (src AND tests) + 43 tests — what CI runs
npm run deploy     # staging (*.workers.dev)
npm run deploy:prod

Point it at a different mesh without forking — every value in config.ts reads from a same-named Worker var:

[vars]
ORACLE_BASE = "https://oracle.staging.example.com"
TIMEOUT_INVOKE_MS = "10000"

See CONTRIBUTING.md for the layer rules and how to add a tool.

Note: a Cloudflare Worker cannot reach a *.workers.dev host on the same account (error 1042). Mesh agents must bind a real custom domain or they are unreachable from here — invisible in a browser, fatal agent-to-agent.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.