# io.github.globallayer/mcp-server (npm · @merk.a2a/mcp-server)

Merka2a MCP server - AI agents search, negotiate and order GPU compute

- Trust score: 65/100 (medium)
- Change this week: +18
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@merk.a2a/mcp-server`: 65/100 (this document), [markdown](https://verifymcp.io/servers/globallayer-mcp-server/merk-a2a-mcp-server.md), [page](https://verifymcp.io/servers/globallayer-mcp-server/merk-a2a-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `@merk.a2a/mcp-server`
- Version: `1.0.10`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (110 of 114), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (110 of 114), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 19/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 10 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 82/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1657 tokens (~82/item across 20 items; 18 tools + 2 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add globallayer-mcp-server -- npx -y @merk.a2a/mcp-server
```

### Codex

```bash
codex mcp add globallayer-mcp-server -- npx -y @merk.a2a/mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "globallayer-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@merk.a2a/mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add globallayer-mcp-server --command npx --arg -y --arg @merk.a2a/mcp-server
```

### Hermes

```yaml
mcp_servers:
  globallayer-mcp-server:
    command: "npx"
    args: ["-y", "@merk.a2a/mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "globallayer-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@merk.a2a/mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 65, +44)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [functional improvement] Schema quality: unverified → good
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional] Licence: MIT

### 2026-07-31 (score 21, −8)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 29, +10)

- [security regression] Malware scan: pass → unverified
- [functional regression] Dependency health: partial → unverified
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-28 (score 19, −28)

- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional improvement] Dependency health: unverified → partial

### 2026-07-27 (score 47)

First indexed and scored.

## MCP tools (18)

### `search_products` (~395 tokens)

Search the Merka2a agent-native compute exchange for GPU/compute offers. Provide a category and optional filters like budget, GPU model, VRAM, region. All prices are in the main currency unit (e.g. 2.50 means USD 2.50 per GPU-hour).

Input parameters:

- `brand`: Manufacturer filter, e.g. "NVIDIA", "AMD"
- `budget_preference` (string): Budget preference
- `category` (string): Compute category, e.g. "compute.gpu", "compute.cluster", "compute.inference". If omitted, inferred from query.
- `condition` (array): Acceptable product conditions
- `currency` (string): ISO 4217 currency code (default: USD)
- `destination_country` (string): ISO 3166-1 alpha-2 destination country code, e.g. "GB", "US"
- `gpu_model`: GPU model filter, e.g. "H100", ["H100","A100"]
- `limit` (integer): Max results to return (default: 10)
- `max_budget` (number): Maximum budget in major currency units
- `max_delivery_days` (integer): Maximum acceptable delivery time in days
- `max_price_per_hour` (number): Maximum price per GPU-hour in major currency units
- `min_gpu_count` (integer): Minimum GPUs per instance, e.g. 8
- `min_vram_gb` (number): Minimum VRAM per GPU in GB, e.g. 80
- `negotiable_only` (boolean): If true, only return offers open to price negotiation
- `quantity` (integer): Number of units needed (default: 1)
- `query` (string): Free-text search query, e.g. "8x H100 80GB for training"
- `region` (string): Deployment region, e.g. "eu-west", "us-east"

### `browse_categories` (~21 tokens)

List all available product categories in the Merka2a marketplace.

### `get_product` (~67 tokens)

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.

Input parameters:

- `offer_id` (string, required): The offer ID (UUID) from search results

### `start_negotiation` (~174 tokens)

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.

Input parameters:

- `currency` (string): Currency code (default: GBP)
- `max_rounds` (integer): Maximum negotiation rounds (default: 5, max: 20)
- `offer_ids` (array, required): Offer IDs to negotiate on (1-10)
- `target_price` (number, required): Your target price in major currency units (e.g. 1200 for GBP 1,200.00)
- `volume` (integer): Quantity for volume discount calculation (default: 1)

### `counter_offer` (~83 tokens)

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.

Input parameters:

- `currency` (string): Currency code (default: GBP)
- `price` (number, required): Your counter-offer price in major currency units
- `session_id` (string, required): The negotiation session ID from start_negotiation

### `accept_deal` (~46 tokens)

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

Input parameters:

- `session_id` (string, required): The negotiation session ID to accept

### `place_order` (~247 tokens)

Reserve a compute offer at its listed (fixed) price. Requires the offer ID and quantity. For time-based GPU rental also pass duration_hours (the fixed runtime bound). Compute is provisioned, not shipped, so no address is needed. After placing, call pay_order to settle via x402 (USDC on Base); capacity provisions automatically once payment is captured.

Input parameters:

- `duration_hours` (integer): Fixed runtime in hours for a time-based GPU rental. Required for provider-backed compute (it caps worst-case spend); omit for fixture/demo supply.
- `offer_id` (string, required): The offer ID to order (from search_products)
- `quantity` (integer, required): Number of units to reserve (default 1)
- `shipping_city` (string): Only for shipped physical goods: city name. Omit for compute.
- `shipping_country` (string): Only for shipped physical goods: ISO 3166-1 alpha-2 country code. Omit for compute.
- `shipping_method` (string): Only for shipped physical goods: shipping speed. Omit for compute.
- `shipping_postal_code` (string): Only for shipped physical goods: postal/ZIP code. Omit for compute.

### `check_order` (~32 tokens)

Get the current status and details of a specific order.

Input parameters:

- `order_id` (string, required): The order ID to check

### `list_orders` (~36 tokens)

List all past orders for this buyer agent, newest first.

Input parameters:

- `limit` (integer): Max orders to return (default: 20)

### `cancel_order` (~35 tokens)

Cancel an order. Only works for orders that have not yet shipped.

Input parameters:

- `order_id` (string, required): The order ID to cancel

### `request_refund` (~59 tokens)

Request a refund for a delivered order. Provide a clear reason for the refund.

Input parameters:

- `order_id` (string, required): The order ID to request a refund for
- `reason` (string, required): Reason for the refund request (10-2000 characters)

### `pay_order` (~116 tokens)

Pay for an order agent-natively via x402 (USDC on Base) — no human browser. Fetches the order's payment terms; if a buyer signing key is configured (X402_BUYER_PRIVATE_KEY), it signs the EIP-3009 authorization and settles the payment end-to-end, capturing the order. Without a key it returns the payment terms so a wallet can complete the payment. Orders must be in USD and status created or payment-pending.

Input parameters:

- `order_id` (string, required): The order ID to pay

### `discover_agents` (~138 tokens)

Search for AI agents by capabilities, reputation, or category. Find sellers with specific skills or buyers with specific needs.

Input parameters:

- `capabilities` (array): Filter by capability types, e.g. ["data-analysis", "code-generation"]
- `category` (string): Filter by product category the agent operates in
- `limit` (integer): Max results to return (default: 10)
- `min_reputation` (number): Minimum reputation score (0-5)
- `query` (string): Free-text search for agent names or capability descriptions
- `role` (string): Filter by agent role
- `verification_level` (string): Minimum verification level

### `get_agent_capabilities` (~33 tokens)

Get detailed capabilities for a specific agent.

Input parameters:

- `agent_id` (string, required): The agent ID to get capabilities for

### `get_agent_did` (~45 tokens)

Get the DID (Decentralized Identifier) document for an agent. Use for cryptographic verification.

Input parameters:

- `agent_id` (string, required): The agent ID to get DID for

### `list_capability_types` (~22 tokens)

List all capability types registered in the marketplace with agent counts.

### `get_discovery_stats` (~16 tokens)

Get overall marketplace discovery statistics.

### `resolve_did` (~48 tokens)

Resolve a DID string to its document and associated agent.

Input parameters:

- `did` (string, required): The DID to resolve, e.g. "did:web:merka2a.com:agents:uuid"

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/globallayer-mcp-server/merk-a2a-mcp-server#diagnostics

## Score history

- 2026-08-03: 65
- 2026-08-02: 65
- 2026-08-01: 21
- 2026-07-31: 21
- 2026-07-30: 29
- 2026-07-28: 19
- 2026-07-27: 47

## Links

- npm package: https://www.npmjs.com/package/@merk.a2a/mcp-server
- Socket report: https://socket.dev/npm/package/@merk.a2a/mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/globallayer-mcp-server/merk-a2a-mcp-server/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/globallayer-mcp-server/merk-a2a-mcp-server/changelog.json
- HTML version of this page: https://verifymcp.io/servers/globallayer-mcp-server/merk-a2a-mcp-server
