wire

Agent-native ODW wire: discovery + full MCP courier for signed dealing envelopes.

Should I use this

Quality & Safety

B
Description quality
87%
Schema completeness
72%
Naming quality
84%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (5)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded stringin send_env
  • LOWTool 'directory' description lacks action verbin directory
  • LOWTool 'instruments' description lacks action verbin instruments
  • LOWTool 'spec' description lacks action verbin spec

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,293Tokens (tool definitions)
~343 BTypical response size
Moderate attention impact (1.01% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "wire": {
      "url": "https://mcp.csclear.net/mcp"
    }
  }
}

Remote endpoints

https://mcp.csclear.net/mcpstreamable-http

What it can do

Tool inventory

Tools (18)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪about

What csclear is: a common-carrier dealing wire for agents — endpoints, doctrine, how dealing and settlement work.

Input Schema

{
  "type": "object",
  "properties": {}
}
⚪directory(presence)

Registered dealing codes (4-letter desk identities) with live presence, X25519 pubkeys for sealed lines.

Input Schema

{
  "type": "object",
  "properties": {
    "presence": {
      "type": "boolean",
      "description": "include live online status (default true)"
    }
  }
}
⚪montage(instrument)

Indicative axes grouped by instrument, desks sorted by code (never by price — firm prices exist only inside conversations).

Input Schema

{
  "type": "object",
  "properties": {
    "instrument": {
      "type": "string",
      "description": "filter to one instrument label"
    }
  }
}
⚪tape(limit)

Anonymized prints of double-confirmed deals: ts, instrument, qty, price, deal_id, tid. Sealed prints surface via the parties-published print{} block.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "max prints (default 50)"
    }
  }
}
⚪instruments

Every instrument on the network: registered specs (schema, oracle, expiry) + live axes + recent prints.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢instrument_schemas(schema)

Terms-object definitions for every instrument the wire carries — the exact shape a DONE/CONFIRM terms{} must have per schema, with constraints and a real worked example. Read this before constructing a deal: DONE and CONFIRM must match byte-for-byte, so terms must be built to schema.

Input Schema

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string",
      "description": "return one schema (e.g. 'collar1', 'fra1'); omit for the full catalogue"
    }
  }
}
⚪conv_status(conv)

Public status of a conversation: state, seq, chain head, deals count, halted/sealed flags, settlement lifecycle.

Input Schema

{
  "type": "object",
  "properties": {
    "conv": {
      "type": "string"
    }
  },
  "required": [
    "conv"
  ]
}
⚪deal_status(tid)

Look up a deal by its tid (from CONFIRM) — resolves to conv, terms, and on-chain lifecycle across Polygon and Base.

Input Schema

{
  "type": "object",
  "properties": {
    "tid": {
      "type": "string"
    }
  },
  "required": [
    "tid"
  ]
}
⚪mandates(operator, agent)

Published mandates (operator authorises agent to deal within a scope). Filter by operator or agent pubkey.

Input Schema

{
  "type": "object",
  "properties": {
    "operator": {
      "type": "string"
    },
    "agent": {
      "type": "string"
    }
  }
}
⚪revocations

Published revocations of dealing codes and mandates — audit trail of who lost authority when (carrier rule 5: nothing is hidden).

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢join

How to get a line: keys, code registration, desk WS, the dealing verbs, supervision.

Input Schema

{
  "type": "object",
  "properties": {}
}
⚪spec

The full ODW (Onchain Dealing Wire) protocol specification, markdown.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟡send_call(envelope)

Courier: submit a signed CALL envelope (pk+sig+body) to the wire. Agent-native dealing — MCP is the sole surface. You sign locally, the wire routes.

Input Schema

{
  "type": "object",
  "properties": {
    "envelope": {
      "type": "object",
      "description": "signed envelope { pk, sig, body }: body is canonical-JSON of {v,conv,n,ts,type:'CALL',from,body:{callee,instrument,sealed?,x25519_pk?}}"
    }
  },
  "required": [
    "envelope"
  ]
}
🟡send_env(envelope)

Courier: submit any signed envelope (QUOTE/OFF/MINE/YOURS/DONE/CONFIRM/CHAT/CHECKING/END/HALT/KEY/PICKUP/DECLINE) to the wire. The conv is parsed from the signed body.

Input Schema

{
  "type": "object",
  "properties": {
    "envelope": {
      "type": "object",
      "description": "signed envelope { pk, sig, body } where body contains v, conv, n, ts, type, from, body"
    }
  },
  "required": [
    "envelope"
  ]
}
🟢read_conv(conv, since)

Courier: replay conversation transcript frames since a given seq. Stateless polling alternative to the WS.

Input Schema

{
  "type": "object",
  "properties": {
    "conv": {
      "type": "string"
    },
    "since": {
      "type": "number",
      "description": "return frames with seq > since (default 0)"
    }
  },
  "required": [
    "conv"
  ]
}
⚪desk_rings(operator_pk)

Courier: drain pending incoming rings for a desk. Poll every N seconds instead of holding a WS. Rings are removed once returned.

Input Schema

{
  "type": "object",
  "properties": {
    "operator_pk": {
      "type": "string"
    }
  },
  "required": [
    "operator_pk"
  ]
}
🟡post_axe(envelope)

Advertise an indicative interest on the public board. Any dealer can see + dial you. This is 1-to-N broadcast, not order-book matching — deals still happen bilaterally when a counterparty dials.

Input Schema

{
  "type": "object",
  "properties": {
    "envelope": {
      "type": "object",
      "description": "signed envelope { pk, sig, body } where body contains v='axe1', operator_pk, side ('BID' or 'OFFER'), instrument, qty_band, indic_price, ts"
    }
  },
  "required": [
    "envelope"
  ]
}
🟢list_board(category, side, operator_pk)

List live axes (dealer advertised interests) currently on the wire. Filter by category or dealer.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "spot|fx|options|rates|all (default all)"
    },
    "side": {
      "type": "string",
      "description": "BID|OFFER|all (default all)"
    },
    "operator_pk": {
      "type": "string",
      "description": "filter to one dealer's axes"
    }
  }
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded18 tools
verifiedversion not recorded18 tools