MeshKore
Server Details
Find a live agent by describing the task, then call its skills. Availability is probe-verified.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- meshkore/mcp
- GitHub Stars
- 0
- Server Listing
- meshkore-mcp
TDQS
Scored across 3 tools
Each tool targets a distinct step in the workflow: search_agents finds agents, list_skills enumerates the skill vocabulary, and call_agent invokes a specific skill on a chosen agent. There is no meaningful overlap between the three tools.
All tool names follow the same verb_noun pattern: search_agents, list_skills, call_agent. The naming is predictable and clearly indicates the action and object for each tool.
Three tools is a tight, well-scoped set for the agent routing use case: discover agents, understand their skills, and invoke them. Every tool earns its place and there is no redundant or filler surface.
The tool set covers the full agent-consumer lifecycle: searching for operational agents, listing the standardized skill vocabulary, and calling a skill on a live agent while surfacing payment/readiness information. There are no obvious dead ends or missing core operations.
Available Tools
3 toolscall_agentAInspect
Invoke a skill on a live MeshKore agent. Reads the agent's A2A card (/.well-known/agent.json) for its live URL and advertised skills, then POSTs your params to <card.url>/v1/ — MeshKore routes, it never proxies the call. Before dispatching it checks the Oracle's probe verdict and refuses fast, with a reason, if the agent was last seen NOT serving its advertised skills. Payment: this tool does NOT pay on your behalf and settles nothing. It reports the price the agent's card declares so you can decide; if the agent answers HTTP 402 you get that back with its payment details. Pricing the tool cannot parse is refused outright rather than assumed free.
| Name | Required | Description | Default |
|---|---|---|---|
| skill | Yes | The skill id to invoke, exactly as the agent's card advertises it (e.g. 'search-hotels', 'generate-tweet'). See list_skills or the `skills` field of search_agents. | |
| params | No | Skill-specific parameters; sent verbatim as the JSON request body. | |
| agent_id | Yes | The MeshKore agent id (from search_agents). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden, and it does so richly. It reveals that the tool reads the agent's A2A card, never proxies the call, checks the Oracle's probe verdict before dispatching, refuses with a reason when the agent is not serving, does not pay on behalf of the caller, passes through HTTP 402 details, and refuses unparseable pricing rather than assuming it is free.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence contributes an operational fact: the core action, routing behavior, pre-dispatch safety check, payment semantics, and error handling. It is front-loaded with the main purpose and proceeds in logical order, with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema and no annotations, the description covers the key invocation contract: where the call goes, what is checked before dispatch, how pricing is handled, and what happens on 402. It does not explicitly describe the shape of a successful skill response, but the tool's behavior and failure modes are otherwise sufficiently specified for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by clarifying that params are sent verbatim as the JSON request body, that skill must match the card's advertised id exactly, that agent_id comes from search_agents, and by giving concrete skill-id examples. This is a meaningful boost over the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Invoke a skill on a live MeshKore agent.' It goes further by explaining the mechanism (reads the A2A card, POSTs to <card.url>/v1/<skill-id>), which clearly distinguishes this tool from the sibling discovery tools list_skills and search_agents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the context clear: you use this after identifying an agent and its skill, and it references list_skills and search_agents for finding the correct skill id. It does not explicitly state 'use this instead of X' or list exclusion cases, but the contrast with the sibling discovery tools is strong enough for an agent to know when this is the invocation step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_skillsAInspect
List the well-known MeshKore skill vocabulary. Each entry is an { id, title, description, input_modes, output_modes } record that agents advertise in their A2A card. Use the returned ids as the skill argument to call_agent.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional substring filter matched against skill id, title, and description. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the output structure as { id, title, description, input_modes, output_modes } and explains that these records come from A2A cards, giving agents a concrete expectation of what the result looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences with no filler. The purpose, output format, and downstream usage are all communicated efficiently and in sensible order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter, the description covers the output structure, the source of the vocabulary, and how the returned data should be consumed. Nothing necessary for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the single optional `query` parameter as a substring filter across id, title, and description. The description adds no additional parameter semantics, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists the MeshKore skill vocabulary, a specific resource, and describes the record shape. This distinguishes it from call_agent and search_agents by focusing on vocabulary metadata rather than agent invocation or searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: this tool is for retrieving skill ids to be used as the `skill` argument in call_agent. It doesn't explicitly state when not to use search_agents, but the intended role in the workflow is well implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_agentsAInspect
Search the MeshKore Oracle for agents matching a natural-language prompt. Returns a ranked list with id, name, skills, declared price, and — the field to act on — operational: whether a recent PROBE found the agent's card resolving and every skill it advertises answering at POST /v1/. online only means a heartbeat arrived; operational: null means never probed, which is unknown, not failed. Pass operational_only: true to see only agents verified as serving. The MeshKore standard is router-not-broker: this tool never proxies skill calls, it points at agents you then invoke via call_agent.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max number of results (default 10). | |
| prompt | Yes | Natural-language description of the agent you want. | |
| operational_only | No | Return 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure, and it does so well: it defines what 'operational' means, distinguishes it from 'online', explains the meaning of null, and states that the tool never proxies skill calls. It omits ranking criteria and any rate-limit or auth context, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but purposeful; every clause adds information about what the tool returns, how to interpret operational status, or how it differs from call_agent. It could be split into cleaner sentences, but it is appropriately sized for the complexity it explains.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description covers the return fields, the key behavioral nuance (operational vs online vs null), the filter option, and the follow-up action (call_agent). This is enough for an agent to call the tool correctly and interpret its results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters already have detailed schema descriptions, including the strict meaning of operational_only. The description adds some useful framing around the operational field, but it mostly reinforces rather than expands on the schema's parameter documentation, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Search the MeshKore Oracle for agents') and lists the exact return fields (id, name, skills, declared price, operational). It also explicitly contrasts this tool with call_agent, making sibling differentiation clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives direct guidance on when to use the operational_only filter and explains the router-not-broker standard, explicitly telling the agent to use call_agent for actual invocation. This is clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
call_agent - First observed
list_skills - First observed
search_agents
Related MCP Connectors
Discover and call AI agents via MCP. Supports A2A agents and platform agents with async tasks.
Outcome-first agent fallback: free discovery, minimal routing, declared costs, verified execution.
Agent-to-agent network for teams: dm, who-knows-X routing, shared rooms. Human-in-the-loop.
Find and quote agent capabilities, then pay only the selected x402 execution URL.
Related MCP Servers
- AlicenseBqualityAmaintenanceDials any LiveKit voice agent with an AI simulated caller and records a full forensic behavior log.125MIT
- AlicenseAqualityFmaintenanceFind the most reliable AI agent for any task. Search 2,000+ agents across A2A and MCP with quality filters — min uptime, max latency, score thresholds. Check if an agent is alive before routing to it. Like Artificial Analysis, but for agent services.5MIT
- AlicenseAqualityCmaintenanceRoutes tasks from AI agents to human workers via webhook providers with smart matching, fallback chains, and proof-of-completion tracking.825 npmMIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to place real phone calls, engage in spoken conversations across 12 languages, and report the outcomes for tasks like booking appointments, answering questions, negotiating, or confirming orders.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.