MCP endpoint
The app speaks MCP over HTTP, so an agent can reach every measurement without a browser.
The app exposes its tools at POST /api/mcp as plain JSON-RPC 2.0. Three methods are the whole surface — initialize, tools/list and tools/call — so the transport is spoken directly rather than through an MCP SDK: a Worker bundle should not carry a transport library to answer three methods.
POST/api/mcp
Read-only and unauthenticated, like the evidence endpoints. Nothing here touches a wallet or a session — an agent must be able to check a number without a human creating an account first.
Connect
{
"mcpServers": {
"crifine": {
"url": "https://dapp.crifine.app/api/mcp"
}
}
}Tools
| Tool | Answers |
|---|---|
exit_estimate | What does this size actually clear at? |
compare_routes | Which venue is best for this asset, at this size? |
depth_ladder | What clears at each price level? |
depth_history | How has depth moved against price? |
stress_window | What was the worst condition in a chosen window? |
depth_decay | How fast did the book thin after a price move? |
fragility_board | Which books are thinnest right now? |
list_pools | What is under recording? |
Two rules hold across every tool
- Every answer carries `evidence_url`. An agent that gets a number here can check it without a second trip to the docs.
- Size is never defaulted. There is no such thing as *the* fill price, only a fill price for a size. A tool that guesses one is worse than a tool that refuses — so
exit_estimateerrors rather than picking a size for you.