TRENCH MCP
Use this read-only MCP server to inspect Robinhood Chain token pools and model size-aware exit pressure for AI agents.
Inspect a token’s strongest visible pool: price, liquidity, 24h volume, activity, pool count, and small-position exit grade.
Simulate exit pressure for a specific USD position, returning DEEP/THIN/CRITICAL grade, estimated receive, pressure percentage, and suggested chunks.
Compare 1–8 USD exit sizes against the same market observation to prevent time drift.
Check Robinhood Chain health: chain ID, latest block, public RPC URL, and latency.
Explain an exit signal as evidence, limitations, and concrete next checks for an AI agent.
All tools are read-only: no signing, approvals, swaps, custody, wallet balance lookup, or executable quotes.
Connect via remote HTTPS MCP endpoint or local stdio MCP client.
Provides read-only tools for inspecting Robinhood Chain token pools, simulating exit pressure for specific position sizes, comparing multiple exit sizes against the same market observation, checking Robinhood Chain health, and explaining exit signals.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TRENCH MCPsimulate a $2,500 exit on this token and explain the pressure grade"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

TRENCH MCP
Check liquidity before you trust the number.
TRENCH gives an AI agent observed Robinhood Chain pool data and a transparent, position-size-aware pressure model. The agent gets evidence to explain — not a made-up executable quote.
Try the browser model · Connect your agent · Read the assumptions
Understand it in 20 seconds
Question | Answer |
What does it do? | Reads token pools and models how a USD position size changes estimated exit pressure. |
Where is the AI? | Your MCP-compatible AI client calls the tools and interprets their structured results. The pressure calculation is deterministic. |
Can I try it immediately? | Yes. The browser playground takes manual liquidity, position and volume inputs — no account or wallet connection. |
Where does live data happen? | The remote or local MCP server reads public DexScreener pools and Robinhood Chain RPC. The website playground is not a live token scanner. |
Does it execute trades? | No signing, approvals, swaps or custody. It does not look up your wallet balance. |
Is the result a quote? | No. It is a disclosed constant-product proxy, not a complete Uniswap v4 execution simulation. |

Related MCP server: loxcorp
The problem
AI agents can summarize token pages, read contracts and repeat social posts. That does not answer the operational question a trader actually has:
If this position had to exit now, what does the visible market structure suggest?
Raw liquidity alone is not enough. A $50K position and a $500 position do not face the same market. TRENCH collects the token, position size, observed primary pool, RPC block and an explicit pressure model in one structured MCP result. Pool data and RPC block reads are separate observations, not an atomic block-pinned snapshot.
What TRENCH is
TRENCH is a real, local-first MCP server for Claude, Codex and any compatible client. It exposes five read-only tools backed by current Robinhood Chain RPC and pool observations.
It does not trade. It does not accept private keys. It does not pretend a constant-product model is an executable quote.
user question
│
▼
AI agent ──MCP/HTTP or stdio──► TRENCH
├── Robinhood Chain RPC: chain + block
├── DexScreener: pools + liquidity + volume
└── SLIP engine: size-aware pressure model
│
▼
evidence + grade + limitsRun it now
Requirements: Node.js 22+.
npx --yes github:Floopi10/trench-mcpOr install locally:
git clone https://github.com/Floopi10/trench-mcp.git
cd trench-mcp
npm ci
npm startConnect your agent
Remote HTTPS — no local installation
Add this URL to a client supporting MCP Streamable HTTP:
https://trench-mcp.mytodofloopi.workers.dev/mcpNo authentication is required for these public read-only tools. Start with chain_health, then ask for inspect_token using a public token address. The website's separate Terminal is a manual calculator; it is not the remote MCP server.
The hosted endpoint is rate limited (per-IP, best effort), limits request bodies to 16 KiB, validates browser origins, and only queries configured public data providers. It does not accept arbitrary RPC URLs or credentials from callers. Availability and provider coverage are not guaranteed. Do not send secrets.
Local stdio
After installing locally, add it to an MCP-compatible client:
{
"mcpServers": {
"trench": {
"command": "node",
"args": ["/absolute/path/to/trench-mcp/bin/trench-mcp.mjs"]
}
}
}Windows example:
{
"mcpServers": {
"trench": {
"command": "node",
"args": ["C:\\tools\\trench-mcp\\bin\\trench-mcp.mjs"]
}
}
}Tool surface
inspect_token
Reads the strongest visible Robinhood Chain pool for a token and returns price, liquidity, 24-hour volume, activity, pool count and a small-position pressure grade.
{ "token": "0x0000000000000000000000000000000000000000" }simulate_exit
Models a specific USD exit size against estimated quote-side depth. The result includes the DEEP, THIN or CRITICAL grade, estimated receive, pressure percentage and suggested chunks.
{
"token": "0x0000000000000000000000000000000000000000",
"sizeUsd": 2500
}compare_exit_sizes
Compares up to eight position sizes against the same market observation, preventing time drift between scenarios.
{
"token": "0x0000000000000000000000000000000000000000",
"sizesUsd": [100, 500, 2500, 10000]
}chain_health
Returns chain ID, latest block, public RPC URL and observed round-trip latency.
{}explain_exit_signal
Packages the deterministic grade into evidence, limitations and concrete next checks so the host AI can explain a result without inventing a story.
How the pressure model works
TRENCH uses the highest-liquidity observed pool and approximates quote-side depth as half of total pool liquidity. After a configurable fee assumption, it applies constant-product movement to estimate how much pressure a position introduces.
quote_depth = pool_liquidity / 2
after_fee = size × (1 - fee_rate)
receive = quote_depth × after_fee / (quote_depth + after_fee)
impact = 1 - receive / after_feeCurrent grade rules:
Grade | Rule | Meaning |
| liquidity below | visible depth is highly constrained |
| size above | exit pressure deserves caution |
| none of the walls above are crossed | position is small relative to the observed depth |
These are transparent product rules, not predictions. Read MODEL.md for assumptions and failure modes.
Agent behavior contract
TRENCH returns facts and boundaries together. A good agent should:
State the observation time and available RPC block; do not imply the pool was read at that exact block.
Name the selected pool and visible liquidity.
Tie the grade to the requested position size.
Label modeled impact as a proxy.
Recommend checking an executable venue quote before action.
A bad agent hides timestamps, calls the proxy guaranteed output, or converts a grade into financial advice.
Security boundary
Every MCP capability is annotated read-only.
EVM addresses and USD sizes are strictly validated.
Position size is capped at
$10,000,000.Network requests time out after eight seconds.
No secrets are accepted, logged or persisted.
No wallet connection, signing, approval, swap or custody code exists.
Diagnostics use stderr so stdout remains valid MCP framing.
See SECURITY.md for the threat model.
Documentation
Development
npm ci
npm run check
npm run inspectnpm run check validates syntax and runs unit plus real stdio MCP integration tests. npm run inspect opens the official MCP Inspector.
Current scope
Version 0.1.0 intentionally does one job well: convert current market structure into evidence an AI agent can inspect and explain. Historical monitoring, deployer tracing and executable venue routing are not implemented. They will not be implied in copy until they exist and can be verified.
Mascot
Trench is a terminal-green chibi axolotl carrying a market scanner. The axolotl fits the product: it stays calm in hostile environments, sees what is happening below the surface and does not press the trade button for you.
Pixel field notes
The main mascot stays a terminal-green pixel axolotl. These companion illustrations add personality without turning the product interface into a toy.
What is tested
npm run check runs syntax checks and the test suite, including real stdio MCP integration tests, 108 synthetic browser/server model comparisons, HTTP MCP integration, origin checks, body limits and rate-limit checks.
Tests verify implementation behavior. They do not certify a token, guarantee provider availability, or make the modeled proceeds executable. Live results can change between requests.
License
MIT
Available Tools
5 toolschain_healthCheck Robinhood Chain healthARead-onlyIdempotent
Read chain ID, latest block and RPC latency without connecting a wallet.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so safety is covered. The description adds genuinely new behavioral context not in the annotations: the call requires no wallet/authentication, which tells the agent it can run this before any connection step.
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?
One sentence, front-loaded with the verb and the returned data, with no filler. Every clause earns its place.
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 input parameters and no output schema, the description must carry the return-value burden itself, and it does by listing the three fields returned. Annotations cover the safety profile, so nothing an agent needs to invoke this correctly is missing.
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, and the schema is empty by design.
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 names a specific verb ('Read') and enumerates the exact resources returned: chain ID, latest block, and RPC latency. This clearly separates it from the token- and exit-oriented siblings, though it never explicitly names an alternative tool.
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?
'Without connecting a wallet' implies this is the lightweight, pre-flight check to run before anything requiring authentication, but the description never states when to prefer it over inspect_token or the simulate_* tools. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_exit_sizesCompare exit sizesBRead-onlyIdempotent
Compare 1 to 8 USD exit sizes against the same observed primary pool.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ||
| sizesUsd | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds one useful behavioral fact — all sizes are measured against the same observed pool, giving a consistent baseline — but says nothing about what 'exit' means, latency, or result semantics. Adequate but thin given the low annotation burden.
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 front-loaded sentence with no filler. Every clause (count, unit, resource, baseline pool) carries information.
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 2-parameter domain tool with no output schema, the definition leaves key gaps: what the 'observed primary pool' is, how results are expressed, and what the token identifies. It is minimally sufficient to invoke but not to interpret.
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 coverage is 0%, so the description carries the load. It clarifies sizesUsd ('1 to 8 USD exit sizes') and matches the minItems/maxItems bounds, but says nothing about the required 'token' address, leaving half the parameters semantically unexplained.
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?
States a specific verb (compare) and resource (USD exit sizes) with an explicit scope of 1 to 8 sizes against 'the same observed primary pool'. It is distinguishable in substance from siblings like simulate_exit, though it never names an alternative to sharpen the contrast.
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 when-to-use or when-not guidance and no alternative is named. The agent can infer that this is for comparison, but nothing tells it why to pick this over simulate_exit or explain_exit_signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_exit_signalExplain an exit signalCRead-onlyIdempotent
Turn the deterministic DEEP, THIN or CRITICAL signal into evidence and next checks an AI agent can explain.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ||
| sizeUsd | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, and non-destructive behavior, so the safety profile is covered. The description adds that the signal is deterministic and that output is 'evidence and next checks,' which is modest extra context, but it does not disclose thresholds, rate limits, or what a response contains.
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 tight sentence with no filler, and the core action is front-loaded. It is efficient, though the compressed jargon (DEEP/THIN/CRITICAL) trades clarity for 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?
With no output schema, 0% parameter coverage, and unexplained signal categories, the description leaves major gaps: what input produces the signal, what 'evidence' is returned, and what the next checks look like. The internal vocabulary is never defined, so an agent lacks enough to call or interpret the tool confidently.
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%, so the description carries the full burden, and it says nothing about the two parameters. It does not clarify that 'token' is a 0x contract address nor that 'sizeUsd' is a position size bounded at 10,000,000 USD, leaving both inputs semantically undefined.
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 verb ('turn ... into evidence and next checks') and resource ('the DEEP, THIN or CRITICAL signal') are stated, so the general intent is inferable. But the description never explains where that signal comes from, what DEEP/THIN/CRITICAL mean, or how it differs from siblings like simulate_exit or compare_exit_sizes. Vague purpose with no sibling differentiation.
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 when-to-use guidance, no when-not-to-use, and no reference to any alternative tool. An agent cannot tell from this text why it would call explain_exit_signal rather than simulate_exit, compare_exit_sizes, or inspect_token.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_tokenInspect a Robinhood Chain tokenBRead-onlyIdempotent
Read current pools, liquidity, volume, price and a small-position exit grade.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds only that it computes a 'small-position exit grade', with no mention of data freshness, chain coverage, or cost; given the annotation coverage this is a marginal but acceptable contribution.
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 front-loaded sentence with no filler; the read verb leads and the returned data follows. It is efficient, though its brevity is arguably part of why the behavioral and parameter gaps exist.
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, the description usefully enumerates what is returned (pools, liquidity, volume, price, exit grade). But for a tool requiring an address argument it omits the parameter's meaning and format and gives no sense of how results relate to the sibling exit tools, leaving the definition only minimally sufficient.
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% for the single required 'token' parameter, and the description never explains it. The address format (0x + 40 hex) and the fact it must be a Robinhood Chain token come only from the title/pattern, not the description, so compensation for the coverage gap is essentially absent.
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 names a specific verb (Read) and a concrete set of resources (pools, liquidity, volume, price, exit grade) for a token, so an agent knows exactly what comes back. It does not, however, distinguish this from the exit-oriented siblings (simulate_exit, compare_exit_sizes, explain_exit_signal), which overlap on the 'exit grade' concept.
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 inspect_token versus simulate_exit, compare_exit_sizes, or explain_exit_signal. Usage is only implied by the word 'Read', leaving the agent to infer that this is the snapshot/read step that precedes the other exit tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_exitSimulate token exit pressureARead-onlyIdempotent
Estimate exit pressure for a USD position using current Robinhood Chain market data. This is a proxy, not an executable quote.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ||
| sizeUsd | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the description's added value is the disclaimer that this is a proxy estimate, not an executable quote, plus the implied dependency on live market data. That is genuinely useful interpretive context beyond the structured fields, though nothing is said about freshness, rate limits, or error behavior.
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?
Two tight sentences with the core action front-loaded and the important caveat immediately after. Every sentence earns its place; there is no filler.
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 read-only simulation tool, the description covers purpose, data source, and the proxy caveat, and annotations cover safety. However, with no output schema, the description never indicates what the estimate looks like or what drives it, leaving the agent guessing about the return shape.
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%, so the description must carry the load. It partially does: 'USD position' clarifies that sizeUsd is a USD-denominated notional, but 'token' is left to the schema's address pattern alone and no format or range guidance is added. The schema's own pattern and min/max constraints do much of the work.
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 gives a specific verb (estimate) and resource (exit pressure for a USD position) and names the data source (current Robinhood Chain market data), so the agent knows exactly what the tool computes. It does not contrast itself against close siblings like compare_exit_sizes or explain_exit_signal, so it falls short of the top mark.
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 when-to-use guidance and no mention of alternatives, despite three closely related siblings. The only hint is the caveat that the result is a proxy rather than an executable quote, which clarifies output nature but not when to pick this tool over compare_exit_sizes or explain_exit_signal.
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.
5 tool updates
v0.1.0- First observed
chain_health - First observed
compare_exit_sizes - First observed
explain_exit_signal - First observed
inspect_token - First observed
simulate_exit
TDQS
Scored across 5 tools
Each tool has a largely distinct focus: inspect_token reads raw market state, simulate_exit estimates pressure for one position, compare_exit_sizes sweeps multiple sizes, chain_health checks infrastructure, and explain_exit_signal narrates the signal. There is mild overlap between inspect_token's 'exit grade' and the signal-based tools, and simulate_exit vs compare_exit_sizes target the same concern at different granularities, but descriptions make the split workable.
Names are uniformly snake_case and mostly follow a verb_noun pattern (inspect_token, simulate_exit, compare_exit_sizes, explain_exit_signal). chain_health breaks the pattern by being noun-only, a minor deviation that remains clear and readable.
Five tools is well-scoped for a focused exit-pressure analysis server, with each tool earning a distinct role (inspect, simulate, compare, infra check, explain). No redundancy or bloat.
The read-only analysis lifecycle is well covered: token state, single and multi-size exit simulation, chain health, and signal explanation. Minor gaps exist—no token discovery/listing or cross-token comparison—but the stated exit-analysis purpose is largely served without dead ends.
Maintenance
Related MCP Connectors
Pre-trade token safety check for AI agents. Simulates a sell before you buy, then returns one low/medium/high/unknown verdict with the signals behind it: sellability, buy/sell tax, liquidity depth, pair age, same-ticker impersonation, owner powers from bytecode. Ethereum, BSC, Base, Solana. Fail-closed - a check that cannot run answers unknown, never low. Publishes its own measured error rate with the benchmark harness in the repo. Free, no signup, no API key, MIT.
Evidence-based market data for AI agents deploying capital in DeFi. Empirical, not advertised.
Pre-computed market data that improves agent reasoning, reduces token usage, and replaces pipelines.
Read-only smart-contract security intelligence for autonomous agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables agents to query live Robinhood Chain data including tokens, wallets, Chainlink feeds, heat scores, and tracking error on tokenized equities, all read-only without API keys.44MIT
- AlicenseNot gradedqualityCmaintenanceProvides live, read-only access to Robinhood Chain and Lox Corp data, enabling AI agents to query chain stats, token launches, agent details, and more.101MIT

fingersofficial
AlicenseNot gradedqualityCmaintenanceRead-only checks on tokens, NFTs, wallets, contracts and tokenized stocks before an agent acts. Honeypot, peg, copycat, wallet risk. Deep Robinhood Chain coverage. Never your keys.MIT- AlicenseNot gradedqualityBmaintenanceEnables AI agents to analyze Uniswap V3 pool liquidity depth and estimate price impact at 1%, 2%, 5%, and 10% levels before large trades, with pay-per-call micropayments via x402.MIT