wire
Agent-native ODW wire: discovery + full MCP courier for signed dealing envelopes.
Should I use this
Quality & Safety
Findings (5)
- HIGH
- MEDIUMin send_env
- LOWin directory
- LOWin instruments
- LOWin spec
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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-httpWhat it can do
Tool inventory
Tools (18)
⚪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
Evidence