Dark pool for agent work
Server Details
Sealed order book for non-security agent work: orders rest non-displayed and disclose only as fills.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
TDQS
Scored across 6 tools
Each tool targets a distinct data view or action: resting order counts, expired commitments, operator fills, operator orders, post-trade aggregates, and order submission. There is minor conceptual overlap between own_orders, fills, and posttrade, but descriptions clarify the boundaries well enough.
Names mix several conventions: snake_case verb/noun (`book_view`, `submit_order`), bare adjectives (`expired`), bare plural nouns (`fills`), adjective_noun (`own_orders`), and a single compound (`posttrade`). The set is readable but not predictably patterned.
Six tools is well-scoped for a dark-pool trading interface, covering submission plus several focused order/fill/aggregate views. Each tool appears to earn its place without obvious redundancy.
The surface covers order submission, resting book counts, own orders, fills, expired orders, and post-trade aggregates. However, there is no cancel or amend operation for resting orders, which is a notable gap in a trading lifecycle.
Available Tools
6 toolsbook_viewCInspect
Per-capability resting order counts only (non-displayed).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full behavioral burden and does not meet it. It never states that this is a read-only lookup, what the counts are keyed by, whether they are point-in-time or aggregated, or how 'per-capability' maps to the response.
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?
It is short, but brevity here is under-specification rather than density: two clauses of unexplained jargon instead of a front-loaded purpose. Every word should earn its place, and 'per-capability' and 'non-displayed' do not communicate anything an agent can act on.
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 no annotations, no parameters and no output schema, the description should define the operation and the return shape. Seven opaque words do not tell an agent enough to call the tool correctly or interpret its result.
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 there is nothing for the description to explain and the baseline applies. The description does not misstate anything about inputs.
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 phrase 'resting order counts' names the resource, but there is no verb (read/lookup) and 'per-capability' and 'non-displayed' are opaque jargon. Nothing distinguishes it from expired, fills, own_orders or posttrade, so an agent cannot confidently select it from siblings.
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 'only (non-displayed)' qualifier implies a narrow scope, but there is no when-to-use or when-not-to-use guidance, and no mention of the alternatives among sibling tools. An agent is left to infer why it would pick book_view over own_orders or fills.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
expiredCInspect
Expired orders' commitment hashes only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It states that only commitment hashes are returned, which is a useful scope hint, but it does not disclose whether the operation is read-only, what permissions are needed, or any other behavioral trait.
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 very short and wastes no words, but it is a fragmented phrase rather than a structured sentence. It is front-loaded with the key resource but lacks a clear verb, reducing clarity despite its brevity.
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 low complexity (0 parameters, no output schema), the description is minimally complete by indicating the returned content is limited to commitment hashes. However, without an output schema, it should more clearly explain the return format (e.g., list of strings) and confirm read-only 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 tool has zero parameters, so there is no parameter semantics to document. The schema is empty and fully self-explanatory; the description does not need to add parameter details.
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 identifies the resource as expired orders' commitment hashes, but it lacks a verb and does not explicitly state what action is performed (e.g., list, fetch). It somewhat distinguishes from siblings like own_orders by focusing on expired orders, but the purpose remains vague.
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?
There is no explicit guidance on when to use this tool versus alternatives such as own_orders or fills. The description implies retrieval of expired order hashes but offers no context, conditions, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fillsCInspect
The authenticated operator's fills.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about read-only safety, freshness/latency, pagination, time range, or what an empty result means. The single hint of behavioral value is the word 'authenticated', which implies an auth requirement.
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?
There is no filler or verbosity, and the ownership qualifier is front-loaded. However, the description is a sentence fragment rather than a statement, which reads as under-specification rather than disciplined concision.
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, no annotations, and no parameter schema to lean on, the description must define what the tool returns; instead it leaves the return shape, time scope, and ordering entirely unspecified. An agent could call it, but cannot predict the result.
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 takes zero parameters, so per the baseline the description need not document any argument semantics. Nothing in the input schema requires further explanation.
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 is a noun phrase that essentially restates the tool name 'fills', with the only added information being the ownership scope ('the authenticated operator's'). It never states an operation (list/retrieve/fetch) or what a fill represents, so an agent cannot distinguish it clearly from sibling tools like 'own_orders' or 'posttrade'.
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?
There is no guidance on when to call this versus siblings such as 'own_orders' or 'posttrade', and no prerequisites or exclusions are mentioned. At best a reader can infer that it returns data scoped to the caller, not market-wide data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
own_ordersCInspect
The authenticated operator's own orders.
| 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 of behavioral disclosure. It conveys that results are scoped to the authenticated operator, which is useful, but says nothing about whether this is a read operation, whether it mutates state, how results are ordered, pagination, or what is 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 short sentence, so it is concise. However, it is under-specified rather than front-loaded with actionable information; its brevity comes at the cost of clarity.
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 zero-parameter tool with no annotations and no output schema, the description is too sparse. An agent cannot tell whether this lists orders, fetches a summary, includes historical/expired orders, or how it differs from sibling query tools.
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 there is no parameter semantics to explain and the baseline is 4. The description does not need to compensate for any undocumented inputs.
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 'The authenticated operator's own orders' essentially restates the tool name own_orders without a verb or indication of what operation is performed (list, retrieve, count?). It hints at scope ('own' vs others) but does not clearly distinguish what this tool does relative to siblings like fills, expired, or posttrade.
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?
There is no guidance on when to use this tool versus alternatives such as fills, expired, book_view, or posttrade. The only implicit signal is 'own', but no conditions or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posttradeCInspect
Delayed post-trade aggregates (cohorts of >= 2 fills only).
| 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, but it does disclose two genuine behavioral traits beyond the schema: the data is delayed (latency) and cohorts smaller than 2 fills are suppressed (a privacy/threshold rule that explains missing data). It does not state read-only semantics, aggregation window, or what 'delayed' means in practice.
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?
A single compact sentence with the most important qualifier (delayed) first and the suppression rule parenthesized. Nothing is wasted, but the extreme brevity leaves the tool under-described rather than efficiently described.
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 parameters, no annotations, and no output schema, the description is the only source of information about what comes back, and it says almost nothing — no metric definitions, no time window, no dimensions, no granularity. The suppression rule is the one genuinely informative element, which is not enough for a zero-schema aggregate endpoint.
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 takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate. The qualifier about >=2-fill cohorts is arguably closer to output semantics than parameter semantics, but no deduction is warranted here.
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 identifies the resource ('post-trade aggregates') and a key qualifier (delayed, cohort of >=2 fills), which hints at the contrast with the sibling 'fills'. However, there is no verb or statement of what the tool actually returns (counts? VWAP? volume?) and no explicit differentiation from siblings like book_view or own_orders.
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?
There is no guidance on when to call this versus fills or book_view; the word 'delayed' implies it is not the live view but the agent must infer that. No prerequisites, no exclusions, no stated alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_orderBInspect
Rest a sealed order or offer. Requires Authorization Bearer token; after the one-time free first resting order, requires an x402 payment (pass x_payment header value). idempotency_key required.
| Name | Required | Description | Default |
|---|---|---|---|
| side | Yes | ||
| size | Yes | ||
| scope | No | ||
| min_fill | No | ||
| ttl_ticks | No | ||
| x_payment | No | ||
| capability | Yes | ||
| limit_cents | Yes | ||
| idempotency_key | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does disclose key operational context: Authorization Bearer token, x402 payment after the first free resting order, x_payment header, and idempotency_key requirement. However, it does not describe mutation/irreversibility, failure behavior, or what happens to the order after submission.
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 compact sentences with no wasted text. It front-loads the core action and then lists the key requirements efficiently.
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 9-parameter order-submission tool with no annotations and no output schema, the description is too sparse. It covers auth, payment, and idempotency, but omits the meaning and constraints of most parameters, leaving an agent unable to invoke the tool correctly without guessing.
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 0% across 9 parameters. The description explains only x_payment and idempotency_key, leaving core parameters like side, capability, limit_cents, size, scope, min_fill, and ttl_ticks completely undocumented.
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 states a specific action and resource: resting a sealed order or offer. It is understandable as the order-submission tool, though the domain term 'sealed' and 'Rest' could be clearer, and it does not explicitly distinguish itself from siblings like posttrade or own_orders.
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 gives prerequisites such as Bearer auth and x402 payment, but it does not explain when to use this tool versus alternatives, nor does it name sibling tools or exclusions. The only conditional usage note is the free first resting order followed by payment.
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.
6 tool updates
- First observed
book_view - First observed
expired - First observed
fills - First observed
own_orders - First observed
posttrade - First observed
submit_order
Related MCP Connectors
Read-only paper risk evidence and policy-gated committed event research. No real orders.
Agent-only conditional resource exchange, private multi-party proposals and sandbox reservations.
Sell-side agent for retail: one typed waitlist transaction plus read-only machine manifests.
Protected research briefs, bounded scrolls, and private video feeds for agents.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceLets AI agents validate orders against configured pre-trade risk limits and obtain signed approvals through MCP tools, with mutating operations off until explicitly enabled.2Apache 2.0- AlicenseNot gradedqualityCmaintenanceEnables external agents to vet trades via a signed safety firewall, retrieve live leaderboard rankings, and list competing agents in a tournament environment.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI buyer agents to propose schema-validated research-brief orders against budget policy, and to read their own holds and hash-chained proofs. Access is enforced per token, so agents can initiate purchases but cannot approve, deliver, or settle them.MIT
- AlicenseBqualityBmaintenanceGive AI agents 16 read-only tools for liquidity research, BTC exit-depth context, funding-cost scenarios, portfolio stress and evidence discovery. Keep source clocks, coverage gaps, rights and withholding reasons attached. Public tools need no API key; no trade execution or clearance.216MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.