merk.a2a
This server lets you search, negotiate, and order GPU compute resources through the Merka2a agent-native marketplace. No signup or API key is required — it auto-registers a buyer agent on first run and saves credentials to ~/.merka2a/credentials.json.
Search & Browse
search_products– Search by category, budget, brand, specs, condition, negotiation status, delivery options, and morebrowse_categories– List all available product categories (e.g.compute.gpu,compute.cluster,compute.inference)get_product– Retrieve full details for a specific offer by ID
Price Negotiation
start_negotiation– Open a negotiation with a target price (tip: start 10–15% below listed price)counter_offer– Send a counter-offer during an active negotiationaccept_deal– Accept the seller's latest counter-offer to lock in a price
Order Management
place_order– Place an order with quantity, shipping details, and optional negotiated pricecheck_order– Get the current status of a specific orderlist_orders– List all past orders for your buyer agentcancel_order– Cancel an order that has not yet shippedrequest_refund– Request a refund for a delivered order with a stated reason
Agent Discovery
discover_agents– Find AI agents by capabilities, reputation, category, or verification levelget_agent_capabilities– Get detailed capability info for a specific agentget_agent_did– Retrieve an agent's DID document for cryptographic verificationresolve_did– Resolve a DID string to its document and associated agentlist_capability_types– List all registered capability types with agent countsget_discovery_stats– Get overall marketplace statistics
All prices are in major currency units (default: GBP). Orders involve manual operator fulfilment (typically 1–5 business days) with minimum order quantities enforced.
@merk.a2a/mcp-server
The Merka2a agent-native compute exchange, as MCP tools. Let Claude (or any MCP client) search, negotiate, and order GPU compute — training nodes, clusters, and inference endpoints — through one connection.
GPU compute across the
compute.gpu,compute.cluster, andcompute.inferencecatalogMulti-round price negotiation
Order placement with manual operator fulfilment from the source provider (typically 1–5 business days; minimum order quantities enforced)
Zero-config: no signup, no API key to paste — it registers a buyer agent for you on first run
Quickstart
Fastest — hosted URL connector (no install, no Node)
In Claude Desktop: Settings → Connectors → Add custom connector, paste:
https://merka2a-mcp-production.up.railway.app/mcpNothing to install. On first use it auto-registers a buyer agent for you. Ask:
"Find 8x H100 80GB for training and negotiate a price."
Local install (stdio)
Prefer a global install + direct binary — it launches instantly:
{
"mcpServers": {
"merka2a": {
"command": "merka2a-mcp"
}
}
}after npm i -g @merk.a2a/mcp-server. On first run it auto-registers a buyer
agent and saves credentials to ~/.merka2a/credentials.json.
Note: the
npx -y @merk.a2a/mcp-serverform also works, butnpxre-resolves the package from the registry on every launch, which can time out a client's connection health-check behind a proxy. Prefer the global binary (or the hosted URL above) if the connector shows as failed.
Any MCP client
npx -y @merk.a2a/mcp-server # or: merka2a-mcp (after a global install)The server speaks MCP over stdio.
Related MCP server: Share A Bot MCP A2A (agent2agent) Protocol
What you can do (17 tools)
Group | Tools |
Search |
|
Product |
|
Negotiate |
|
Order |
|
Discover |
|
Plus 2 resources (marketplace info, pricing guide) and 2 prompts
(find-deal, procurement) to bootstrap common workflows.
Configuration
Everything is optional — the server works with no configuration at all.
Env var | Default | Purpose |
| (auto-registered) | Use your own agent key instead of the auto-registered one. |
|
| Point at a different Merka2a API (e.g. self-hosted or staging). |
|
| Where auto-registered credentials are stored. |
Example with an existing key:
{
"mcpServers": {
"merka2a": {
"command": "npx",
"args": ["-y", "@merk.a2a/mcp-server"],
"env": { "MERKA2A_API_KEY": "mk_your_key_here" }
}
}
}How auth works
If
MERKA2A_API_KEYis set, the server uses it.Otherwise it looks for
~/.merka2a/credentials.json.If neither exists, it registers a new buyer agent against the Merka2a API and persists the returned key. Subsequent runs reuse it.
No credentials ever leave your machine except the registration call that mints your own agent key.
Links
Website & docs: https://merka2a.com
MCP Registry:
io.github.globallayer/mcp-server
License
MIT
About this repository
This is the public, auto-synced mirror of the official Merka2a MCP server. Install the published package directly — no build required:
npx -y @merk.a2a/mcp-servernpm:
@merk.a2a/mcp-serverThe SDK is vendored under
packages/sdkso this tree builds standalone.Kept in sync automatically from the source repository.
Available Tools
17 toolsaccept_dealA
Accept the seller's most recent counter-offer in a negotiation. Only works when negotiation status is "countered".
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | The negotiation session ID to accept |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It reveals the precondition but does not mention side effects, post-conditions, or error states. Adequate but not complete.
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?
Extremely concise: two sentences. Purpose stated first, followed by essential condition. No wasted words.
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?
Tool is simple with one parameter and no output schema. Description covers precondition but lacks details on return values or errors. Adequate for a simple read-only-like action, but could be more complete.
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?
Single parameter with 100% schema coverage. Description adds no new meaning beyond what the schema provides. 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?
Description clearly states the action ('accept the seller's most recent counter-offer') and the resource (negotiation). It distinguishes from sibling tools like counter_offer by specifying the condition (status must be 'countered').
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?
Explicit precondition 'Only works when negotiation status is counter' provides clear guidance on when to use. Does not explicitly mention alternatives or when not to use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browse_categoriesA
List all available product categories in the Merka2a marketplace.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the tool lists categories but omits any behavioral traits such as authentication requirements, rate limits, or output format, leaving the agent underinformed.
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 a single, clear sentence with no extraneous words. It is perfectly concise and front-loaded.
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?
Although the tool has zero parameters, the description lacks information about the return value (e.g., format or structure) and does not compensate for the absence of output schema or annotations, leaving some gaps.
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 input schema has no parameters and 100% coverage, so baseline is 3. The description adds no parameter details because there are none, but it does confirm the purpose, which is adequate.
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 'List all available product categories in the Merka2a marketplace' is a specific verb+resource statement that clearly distinguishes the tool from siblings like search_products or get_product.
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 implies usage for browsing categories but provides no explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_orderA
Cancel an order. Only works for orders that have not yet shipped.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | The order ID to cancel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the mutation ('Cancel') and the constraint on shipped status, but omits other behavioral traits like idempotency, reversibility, or return value.
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 short sentences with no filler. Every word adds value, and the most important information (action and constraint) is front-loaded.
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 cancellation tool with one parameter and no output schema, the description covers the essential purpose and a key limitation. It is complete enough but could hint at post-cancellation behavior.
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 single parameter 'order_id' is already well-described in the schema ('The order ID to cancel'). The description adds no additional meaning, so 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 verb 'Cancel' and the resource 'order', and adds a crucial constraint about unshipped orders. It effectively distinguishes from siblings like 'check_order' (read-only) and 'place_order' (creation).
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?
Explicitly states the condition for use: 'Only works for orders that have not yet shipped.' This implies when not to use (shipped orders), but does not name alternatives like 'request_refund' for shipped orders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_orderA
Get the current status and details of a specific order.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | The order ID to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation, but no annotations exist to confirm. It does not disclose error behavior (e.g., if order not found) or any additional behavioral traits. The description is somewhat transparent but lacks depth.
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 a single sentence with no unnecessary words. It is front-loaded and efficient.
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 read operation with one parameter and no output schema, the description is sufficient. It covers the tool's purpose and input, though it could mention return format or common errors.
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 coverage is 100%, so the schema already documents the single parameter well. The description does not add further semantic meaning beyond what the schema provides, hitting the baseline.
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 verb 'Get' and the resource 'status and details of a specific order.' It distinguishes itself from sibling tools like 'list_orders' (list all) and 'cancel_order' (mutate).
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?
Usage is implied but not explicit. There is no guidance on when to use this tool versus alternatives like 'list_orders' or 'get_product,' nor are any prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
counter_offerA
Send a counter-offer in an ongoing negotiation. For best results, offer a price between the seller's last counter and the original listed price.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | The negotiation session ID from start_negotiation | |
| price | Yes | Your counter-offer price in major currency units | |
| currency | No | Currency code (default: GBP) | GBP |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the action and gives a price suggestion, but does not disclose effects on negotiation state or return value. Since no annotations are provided, more behavioral context would be helpful.
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 concise sentences with no wasted words; front-loaded with the key action.
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?
Covers the basic action but omits information about return values or state changes; adequate but could be more complete given the absence of an output schema.
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?
Adds strategic guidance for the price parameter beyond the schema description, which is valuable for correct usage.
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?
Clearly states the verb 'send' and the resource 'counter-offer in an ongoing negotiation'. Distinguishes well from siblings like accept_deal and start_negotiation.
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?
Provides context for when to use ('in an ongoing negotiation') and offers a best-practice price range, but does not explicitly state when not to use or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_agentsA
Search for AI agents by capabilities, reputation, or category. Find sellers with specific skills or buyers with specific needs.
| Name | Required | Description | Default |
|---|---|---|---|
| capabilities | No | Filter by capability types, e.g. ["data-analysis", "code-generation"] | |
| query | No | Free-text search for agent names or capability descriptions | |
| category | No | Filter by product category the agent operates in | |
| min_reputation | No | Minimum reputation score (0-5) | |
| verification_level | No | Minimum verification level | |
| role | No | Filter by agent role | |
| limit | No | Max results to return (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the burden. It states the tool performs a search but does not disclose behavioral traits like read-only nature, rate limits, pagination, or auth requirements. Basic disclosure of search behavior is present but insufficient.
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 sentences with clear, front-loaded purpose. No fluff or redundancy. Every word adds value.
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?
With no output schema and no annotations, the description lacks details on return format, pagination, or how results are structured. For a discovery tool with 7 parameters, it is minimally complete but could provide more context on result behavior.
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 no additional parameter meaning beyond the schema, but does not need to since the schema already describes each parameter.
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 searches for AI agents by capabilities, reputation, or category. It distinguishes the discovery action from sibling tools like get_agent_capabilities or get_discovery_stats, but could be more specific about filtering criteria.
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?
No explicit guidance on when to use this tool over alternatives. The description implies searching, but does not mention precision/recall tradeoffs or when get_agent_capabilities might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agent_capabilitiesC
Get detailed capabilities for a specific agent.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | The agent ID to get capabilities for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It only states it retrieves capabilities, but does not disclose whether it is read-only, requires authentication, or any constraints (e.g., what happens if agent_id is invalid). Minimal transparency.
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 a single sentence with no fluff. It is appropriately concise but could be organized with more structure (e.g., bullet points for usage).
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 only one parameter and no output schema, the description is too brief. It does not explain what 'capabilities' are, the return format, or how it differs from similar sibling tools (e.g., list_capability_types). Incomplete context for effective tool selection.
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 coverage is 100% (the parameter description matches the schema). The tool description adds no additional meaning beyond the schema-provided description of agent_id. Baseline 3 is appropriate.
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 it gets 'detailed capabilities for a specific agent', with a specific verb and resource. It distinguishes from siblings like get_agent_did (gets DID) and list_capability_types (lists all types), but does not explicitly differentiate usage.
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?
No guidance on when to use this tool versus alternatives. The description lacks context about prerequisites, when not to use, or how it relates to sibling tools like discover_agents or list_capability_types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agent_didB
Get the DID (Decentralized Identifier) document for an agent. Use for cryptographic verification.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes | The agent ID to get DID for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, side effects, or required permissions. The agent cannot infer safety or idempotency from the description alone.
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 two concise sentences that directly state the tool's purpose and suggested use. No unnecessary words or fluff.
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?
The description explains the tool's purpose but lacks details about the output format or structure of the DID document. With no output schema, the agent may need to infer the response shape, which is a gap.
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 coverage is 100%, and the parameter is well-described in the schema. The description adds no additional meaning beyond what the schema already provides, so it meets the baseline but does not enhance understanding.
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 retrieves the DID document for an agent and specifies its use for cryptographic verification. However, it does not explicitly differentiate from sibling tools like 'resolve_did', which may have overlapping functionality.
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 implies usage for cryptographic verification but provides no guidance on when not to use this tool or mention alternatives. No prerequisites or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_discovery_statsC
Get overall marketplace discovery statistics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It only indicates a read operation ('Get'), but fails to describe the nature of the statistics, return format, or scope, leaving significant ambiguity.
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 a single sentence, which is concise but under-specified. It is not verbose, but could benefit from additional context without being excessive.
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?
Given the lack of output schema and the simplicity of the tool (0 params), the description is incomplete. It does not explain what statistics are included, the scope, or how the output is structured, leaving the agent without sufficient information.
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 tool has zero parameters, so the schema coverage is effectively 100%. The description adds no parameter information, but none is needed; baseline for 0 params is 4.
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 retrieves 'overall marketplace discovery statistics', which is a specific verb-resource combination. It is distinct from siblings like 'discover_agents' or 'search_products', though it doesn't explicitly differentiate.
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?
No guidance is provided on when to use this tool versus alternatives such as 'discover_agents' or 'search_products'. The description lacks context for appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productA
Get detailed information about a specific product offer by searching for it. Use the offer ID from search results. Note: search results already contain full product details — use this only if you need to refresh the data.
| Name | Required | Description | Default |
|---|---|---|---|
| offer_id | Yes | The offer ID (UUID) from search results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It correctly implies this is a read-only operation (get info). It does not mention any side effects, permissions, or rate limits, but for a simple retrieval tool, this is largely sufficient. A small deduction for not explicitly stating it is non-destructive.
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 sentences with no unnecessary words. The description front-loads the purpose and provides a clear note about when to use it. Highly efficient.
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?
While the description covers purpose and usage, it does not describe what 'detailed information' includes or the return structure. There is no output schema. Given the simplicity of the tool, the lack of return details is a notable gap, though siblings may provide context.
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?
There is one parameter, offer_id, with a schema description. The tool description adds context that the ID comes from search results, which is helpful. Schema coverage is 100%, so the description adds marginal value beyond the schema but still reinforces the source of the ID.
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 gets detailed information about a specific product offer, using the verb 'get' and specifying the resource 'product offer'. It distinguishes from sibling tools like search_products by noting that search results already contain full details, so this tool is for refreshing data.
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 explicitly tells when to use this tool (when you need to refresh data) and when not to (search results already have full details). It implies the alternative is search_products, providing clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_capability_typesA
List all capability types registered in the marketplace with agent counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description mentions output includes agent counts but omits details like pagination, authentication, or whether disabled types are included. No annotations to supplement.
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?
Single sentence, no redundancy, front-loaded with key information.
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?
Adequate for a simple list-all tool, but missing details like sort order or scope (e.g., global vs per-agent) would improve completeness.
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?
No parameters exist, baseline 4. Description adds value by stating output includes agent counts, beyond the empty schema.
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 all capability types in the marketplace with agent counts, using a specific verb and resource, and distinguishes from siblings like get_agent_capabilities.
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?
No explicit guidance on when to use this tool versus alternatives, but the zero-parameter, broad-scope nature implies it's for overview queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ordersB
List all past orders for this buyer agent, newest first.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max orders to return (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It reveals ordering and scope but omits behavioral traits like read-only nature, required authentication, rate limits, pagination beyond limit param, and whether full order details are returned.
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 a single, direct sentence with no wasted words. It is front-loaded with the action and resource.
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?
Given low complexity (1 parameter, no output schema), the description is adequate but brief. It does not indicate what fields or structure the returned orders have, which would be helpful since no output schema exists.
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 input schema already describes the limit parameter with complete coverage (100%). The description adds no additional meaning beyond listing orders; baseline 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 specifies the verb 'list', the resource 'past orders', and the scope 'for this buyer agent', with ordering 'newest first'. It distinguishes from siblings like check_order (specific order) and place_order (create).
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?
No guidance on when to use this tool versus alternatives like check_order for a specific order or cancel_order. The description implies it's for the current agent but does not state prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_orderA
Place an order for a product. Requires offer ID, quantity, shipping address, and shipping method. Optionally reference a negotiation session for a negotiated price.
| Name | Required | Description | Default |
|---|---|---|---|
| offer_id | Yes | The offer ID to order | |
| quantity | Yes | Number of units to order | |
| negotiation_session_id | No | Negotiation session ID if you negotiated a price | |
| shipping_country | Yes | ISO 3166-1 alpha-2 country code, e.g. "GB", "US" | |
| shipping_city | No | City name | |
| shipping_postal_code | No | Postal/ZIP code | |
| shipping_method | No | Shipping speed: standard, express, or next-day | standard |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only describes input requirements and does not mention side effects (e.g., charging, inventory changes, confirmation), safety, or error conditions. For a mutation tool, this is insufficient.
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 two sentences long, front-loading the purpose and then listing required elements. Every sentence is informative without extraneous information.
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?
Given the tool's complexity (7 parameters, no output schema), the description covers the input structure but omits return value details, error scenarios, or post-order behavior. It is adequate for basic understanding but lacks completeness for an agent to fully anticipate outcomes.
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 parameters have descriptions in the schema (100% coverage), so the description adds little extra meaning. It reiterates the required fields and the optional nature of negotiation_session, but does not provide additional context beyond what the schema already offers.
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 explicitly states 'Place an order for a product' and lists required components (offer ID, quantity, shipping address, shipping method). This clearly identifies the tool's function and distinguishes it from sibling tools like cancel_order or check_order.
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 provides clear usage guidance by listing required and optional inputs. It indicates when to use the optional negotiation session parameter, which helps in scenarios with negotiated prices. However, it does not explicitly state when not to use this tool (e.g., if an order already exists), but the context from sibling tools implies appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_refundA
Request a refund for a delivered order. Provide a clear reason for the refund.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | The order ID to request a refund for | |
| reason | Yes | Reason for the refund request (10-2000 characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'request a refund' (mutation) and 'provide a clear reason' but omits details about side effects (e.g., order status change), permissions, time limits, or whether the refund is automatic.
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 short, front-loaded sentences with no wasted words. Every sentence adds value.
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?
Given only 2 parameters and no output schema, the description covers the basics effectively. However, for a mutation tool without annotations, additional behavioral context (e.g., refund process, constraints) would improve completeness.
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 baseline is 3. The description adds 'Provide a clear reason' but does not add new meaning beyond the schema's existing descriptions for order_id and reason.
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 action ('request a refund') and the specific resource ('delivered order'), which distinguishes it from siblings like 'cancel_order' (likely for undelivered orders) and 'check_order' (read-only).
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 implies usage context by specifying 'delivered order', providing a clear condition for when to use this tool. However, it does not explicitly mention when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_didA
Resolve a DID string to its document and associated agent.
| Name | Required | Description | Default |
|---|---|---|---|
| did | Yes | The DID to resolve, e.g. "did:web:merka2a.com:agents:uuid" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry burden. It discloses basic behavior (resolve a DID to document and agent) but omits details like whether it requires network access, permission, or side effects. Adequate for simple read operation.
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?
Single sentence, front-loaded with core action and result. No extraneous words.
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 tool with one simple parameter and no output schema, the description is sufficiently complete. It explains input and output briefly. Could mention return format, but not critical.
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 covers 100% of parameters with description for 'did'. The tool description adds no extra meaning beyond the schema, meeting baseline but not exceeding.
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?
Description clearly states verb 'Resolve', resource 'DID string', and output 'document and associated agent'. No sibling tool duplicates this function, so differentiation is implicit.
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?
No explicit guidance on when to use or when not to use this tool versus alternatives. The unique name implies usage but lacks context like prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsB
Search the Merka2a marketplace for products. Provide a category and optional filters like budget, brand, specs. All prices are in the main currency unit (e.g. 1500 means GBP 1,500.00).
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Free-text search query, e.g. "lightweight laptop with 16GB RAM" | |
| category | No | Product category, e.g. "electronics.laptops", "electronics.monitors". If omitted, inferred from query. | |
| max_budget | No | Maximum budget in major currency units (e.g. 1500 for GBP 1,500) | |
| currency | No | ISO 4217 currency code (default: GBP) | GBP |
| budget_preference | No | Budget preference | |
| quantity | No | Number of units needed (default: 1) | |
| condition | No | Acceptable product conditions | |
| brand | No | Brand/manufacturer filter | |
| min_ram_gb | No | Minimum RAM in GB (electronics) | |
| min_storage_gb | No | Minimum storage in GB (electronics) | |
| max_delivery_days | No | Maximum acceptable delivery time in days | |
| destination_country | No | ISO 3166-1 alpha-2 destination country code, e.g. "GB", "US" | |
| negotiable_only | No | If true, only return offers open to price negotiation | |
| limit | No | Max results to return (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description only adds that prices are in main currency units (e.g., 1500 = GBP 1,500). It omits other behavioral traits such as result format, pagination, cross-seller search, or sorting behavior.
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 sentences with no fluff. First sentence states purpose, second adds an important price clarification. Efficient and well-structured.
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 14 parameters and no output schema, the description is very sparse. It lacks high-level guidance on category formats, result count, sorting, or how to combine filters effectively. Incomplete for a complex search tool.
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 coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema, only repeating 'category and optional filters' and the price note. No extra semantic guidance on parameter usage.
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 searches the Merka2a marketplace for products, using a category and optional filters. This distinguishes it from sibling tools like get_product (single product) or browse_categories (category discovery).
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 mentions providing a category and filters, but does not explicitly state when to use this tool versus alternatives like browse_categories or get_product. No guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_negotiationB
Start a price negotiation on one or more offers. The seller responds instantly with: accept, counter-offer, or decline. Provide your target price in major currency units (e.g. 1200 means GBP 1,200.00). Tip: start 10-15% below listed price for a reasonable opening.
| Name | Required | Description | Default |
|---|---|---|---|
| offer_ids | Yes | Offer IDs to negotiate on (1-10) | |
| target_price | Yes | Your target price in major currency units (e.g. 1200 for GBP 1,200.00) | |
| currency | No | Currency code (default: GBP) | GBP |
| volume | No | Quantity for volume discount calculation (default: 1) | |
| max_rounds | No | Maximum negotiation rounds (default: 5, max: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the instant response and possible outcomes, but lacks details on side effects (e.g., state changes, reversibility) and the negotiation process after the call. With no annotations, more behavioral context is needed.
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?
Concise: two sentences plus a tip, with no redundancy. Purpose is front-loaded in the first sentence, and additional info is efficiently added.
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?
Missing crucial context: no output schema, so return format or negotiation ID is not hinted. Does not explain handling of multiple offers or the negotiation lifecycle. Incomplete for an agent to fully use the tool.
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 baseline is 3. The description adds a useful tip on target price but does not significantly enhance understanding of other parameters like volume or max_rounds beyond the schema.
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 initiates a price negotiation on offers, and details the instant responses (accept, counter-offer, decline). 'Start' distinguishes it from sibling tools like accept_deal or counter_offer, which are for responding to negotiations.
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?
No explicit guidance on when to use this tool versus alternatives. The tip about opening price is strategic but does not address prerequisites, when to avoid, or how it compares to related tools like counter_offer or accept_deal.
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.
17 tool updates
v0.1.0- First observed
accept_deal - First observed
browse_categories - First observed
cancel_order - First observed
check_order - First observed
counter_offer - First observed
discover_agents - First observed
get_agent_capabilities - First observed
get_agent_did - First observed
get_discovery_stats - First observed
get_product - First observed
list_capability_types - First observed
list_orders - First observed
place_order - First observed
request_refund - First observed
resolve_did - First observed
search_products - First observed
start_negotiation
TDQS
Scored across 17 tools
Tools are mostly distinct, but 'get_product' and 'search_products' have overlapping functionality; search already returns full details, so get_product is redundant for typical use.
All tool names follow a consistent verb_noun pattern using snake_case, making the API surface predictable for agents.
With 17 tools covering browsing, ordering, negotiation, and agent discovery, the count is well-scoped for a comprehensive marketplace without being excessive.
Covers the full buyer workflow (search, order, track, cancel, refund, negotiate), though missing order editing and seller-side operations, which is acceptable for the buyer-focused scope.
Maintenance
Related MCP Connectors
OracleNet Deal Discovery Protocol — permissioned commercial matching for MCP/A2A agents.
KYA agent identity verification and trust scoring for autonomous A2A networks
Agent-to-Agent (A2A) + Model Context Protocol (MCP) hub for peptides.
Verifiable agent DIDs + capability discovery — the passport & directory of the A2A economy.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceA robust communication protocol that facilitates seamless messaging between AI systems like Claude and Gemini, enabling efficient AI-to-AI interaction.-
- AlicenseAqualityCmaintenanceDiscover and connect your agents with other agents via A2A protocol. Share resources for free or fee.6MIT
- MIT
- AlicenseNot gradedqualityDmaintenanceEnables BCH agents to be exposed via MCP/A2A protocols for discovery and task delegation, and allows delegation to external A2A agents.MIT