Skip to main content
Glama

@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, and compute.inference catalog

  • Multi-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/mcp

Nothing 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-server form also works, but npx re-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

search_products, browse_categories

Product

get_product

Negotiate

start_negotiation, counter_offer, accept_deal

Order

place_order, check_order, list_orders, cancel_order, request_refund

Discover

discover_agents, get_agent_capabilities, get_agent_did, list_capability_types, get_discovery_stats, resolve_did

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

MERKA2A_API_KEY

(auto-registered)

Use your own agent key instead of the auto-registered one.

MERKA2A_API_URL

https://pretty-nurturing-production.up.railway.app

Point at a different Merka2a API (e.g. self-hosted or staging).

MERKA2A_CONFIG_DIR

~/.merka2a

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

  1. If MERKA2A_API_KEY is set, the server uses it.

  2. Otherwise it looks for ~/.merka2a/credentials.json.

  3. 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.


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-server
  • npm: @merk.a2a/mcp-server

  • The SDK is vendored under packages/sdk so this tree builds standalone.

  • Kept in sync automatically from the source repository.

Available Tools

17 tools
accept_dealA

Accept the seller's most recent counter-offer in a negotiation. Only works when negotiation status is "countered".

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesThe negotiation session ID to accept

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesThe order ID to cancel

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesThe order ID to check

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesThe negotiation session ID from start_negotiation
priceYesYour counter-offer price in major currency units
currencyNoCurrency code (default: GBP)GBP

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
capabilitiesNoFilter by capability types, e.g. ["data-analysis", "code-generation"]
queryNoFree-text search for agent names or capability descriptions
categoryNoFilter by product category the agent operates in
min_reputationNoMinimum reputation score (0-5)
verification_levelNoMinimum verification level
roleNoFilter by agent role
limitNoMax results to return (default: 10)

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYesThe agent ID to get capabilities for

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYesThe agent ID to get DID for

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
offer_idYesThe offer ID (UUID) from search results

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax orders to return (default: 20)

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
offer_idYesThe offer ID to order
quantityYesNumber of units to order
negotiation_session_idNoNegotiation session ID if you negotiated a price
shipping_countryYesISO 3166-1 alpha-2 country code, e.g. "GB", "US"
shipping_cityNoCity name
shipping_postal_codeNoPostal/ZIP code
shipping_methodNoShipping speed: standard, express, or next-daystandard

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesThe order ID to request a refund for
reasonYesReason for the refund request (10-2000 characters)

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
didYesThe DID to resolve, e.g. "did:web:merka2a.com:agents:uuid"

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoFree-text search query, e.g. "lightweight laptop with 16GB RAM"
categoryNoProduct category, e.g. "electronics.laptops", "electronics.monitors". If omitted, inferred from query.
max_budgetNoMaximum budget in major currency units (e.g. 1500 for GBP 1,500)
currencyNoISO 4217 currency code (default: GBP)GBP
budget_preferenceNoBudget preference
quantityNoNumber of units needed (default: 1)
conditionNoAcceptable product conditions
brandNoBrand/manufacturer filter
min_ram_gbNoMinimum RAM in GB (electronics)
min_storage_gbNoMinimum storage in GB (electronics)
max_delivery_daysNoMaximum acceptable delivery time in days
destination_countryNoISO 3166-1 alpha-2 destination country code, e.g. "GB", "US"
negotiable_onlyNoIf true, only return offers open to price negotiation
limitNoMax results to return (default: 10)

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
offer_idsYesOffer IDs to negotiate on (1-10)
target_priceYesYour target price in major currency units (e.g. 1200 for GBP 1,200.00)
currencyNoCurrency code (default: GBP)GBP
volumeNoQuantity for volume discount calculation (default: 1)
max_roundsNoMaximum negotiation rounds (default: 5, max: 20)

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 17 tool updatesv0.1.0
    • First observedaccept_deal
    • First observedbrowse_categories
    • First observedcancel_order
    • First observedcheck_order
    • First observedcounter_offer
    • First observeddiscover_agents
    • First observedget_agent_capabilities
    • First observedget_agent_did
    • First observedget_discovery_stats
    • First observedget_product
    • First observedlist_capability_types
    • First observedlist_orders
    • First observedplace_order
    • First observedrequest_refund
    • First observedresolve_did
    • First observedsearch_products
    • First observedstart_negotiation

TDQS

A3.7/5.0

Scored across 17 tools

Disambiguation4/5

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.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, making the API surface predictable for agents.

Tool Count5/5

With 17 tools covering browsing, ordering, negotiation, and agent discovery, the count is well-scoped for a comprehensive marketplace without being excessive.

Completeness4/5

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

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers