Skip to main content
Glama

valorem-mev-mcp

Model Context Protocol (MCP) server for Valorem MEV Intelligence.

Gives any MCP-compatible LLM agent (Claude Desktop, ChatGPT, Cursor, etc.) direct access to real-time MEV and DeFi data via Valorem's x402-paid API endpoints. Payments are made in USDC on Base mainnet.


Tools

Tool

Endpoint

Cost

Description

catalog

GET /catalog

Free

Full service catalog with all endpoints and prices

liquidation_watchlist

GET /liquidations/watchlist

$0.50

Aave V3 near-liquidation positions — health factors, collateral, debt

decoded_hints

GET /hints/decoded

$0.10

Last 50 decoded MEV-Share hints — swap direction, pool, token pair

builder_stats

GET /builders/stats

$0.25

Per-builder acceptance rates for Flashbots, Titan, Beaver, BuilderNet, Quasar

agent_intelligence

GET /agents/intelligence

$1.00

Agent wallet tracking — active wallets, x402 spend patterns, top providers

pool_spreads

GET /pools/spreads

$0.05

L2 arb opportunities across 125+ Base + Arbitrum pools

token_safety

GET /tokens/safety?token=

$0.02

Token tax/rebase/reflect classification by contract address

rpc_health

GET /rpc/health

$0.01

RPC provider health — latency, error rates, uptime

rpc_proxy

POST /rpc/proxy

$0.001

Premium Reth L1 RPC proxy (~6 ms latency) — any JSON-RPC method


Related MCP server: Omni Service Node

Payment Modes

Free Mode (default)

No private key required. When an API call returns HTTP 402, the server surfaces the payment requirements to the agent as a formatted message. The agent or user can then pay externally and retry.

npx valorem-mev-mcp

Paid Mode (auto-pay)

Set the PRIVATE_KEY environment variable to an EVM private key with USDC on Base mainnet. The server uses @x402/fetch + @x402/evm to automatically sign and submit payments, then retries the request transparently.

PRIVATE_KEY=0xYourPrivateKeyHere npx valorem-mev-mcp

Security: Never commit your private key. Use a dedicated spending wallet with only the USDC you intend to spend. The key never leaves your machine.


Installation

Global install

npm install -g valorem-mev-mcp
valorem-mev-mcp

npx (no install)

npx valorem-mev-mcp

Local development

git clone https://github.com/advalorem/valorem-mev-mcp
cd valorem-mev-mcp
npm install
node src/index.js

Connecting to Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

Free mode

{
  "mcpServers": {
    "valorem-mev": {
      "command": "npx",
      "args": ["valorem-mev-mcp"]
    }
  }
}

Paid mode

{
  "mcpServers": {
    "valorem-mev": {
      "command": "npx",
      "args": ["valorem-mev-mcp"],
      "env": {
        "PRIVATE_KEY": "0xYourPrivateKeyHere"
      }
    }
  }
}

Restart Claude Desktop after editing. The tools will appear in the tool selector.


Connecting to ChatGPT (Actions / Plugins)

ChatGPT plugins and Actions use an HTTP-based transport. To bridge this MCP server to HTTP, use mcp-proxy or the OpenAI MCP adapter:

# Install the bridge
npm install -g @modelcontextprotocol/proxy

# Run valorem-mev-mcp behind an HTTP proxy on port 3000
mcp-proxy --port 3000 -- npx valorem-mev-mcp

Then point your ChatGPT Action or plugin manifest at http://localhost:3000.


Connecting to Cursor / Windsurf / Other Clients

Most IDE-based MCP clients accept a command + args configuration identical to Claude Desktop. Add this to your client's MCP server list:

{
  "command": "npx",
  "args": ["valorem-mev-mcp"],
  "env": {
    "PRIVATE_KEY": "0xOptionalForAutoPay"
  }
}

Tool Usage Examples

Get service catalog (free)

Use the catalog tool to show me what MEV data is available.

Check near-liquidation positions

Call liquidation_watchlist and tell me which Aave V3 positions are closest to liquidation.

Classify a token

Use token_safety to check if 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 is a tax token.

Proxy an eth_call

Use rpc_proxy to call eth_blockNumber with params [].

Architecture

Claude / ChatGPT / Cursor
        │
        │  MCP stdio transport (JSON-RPC 2.0)
        ▼
valorem-mev-mcp  (this server)
        │
        │  HTTPS + optional x402 payment header
        ▼
https://18-220-76-66.nip.io/engine-api/x402
        │
        ▼
Valorem MEV Intelligence API (Base mainnet USDC payments)

x402 Payment Flow

1. Server calls API endpoint (no payment header)
2. API returns HTTP 402 with X-PAYMENT-REQUIRED header
3a. FREE mode: 402 details returned to agent as text
3b. PAID mode: @x402/fetch parses requirements, signs USDC EIP-712 permit
                with viem private key account, retries with X-PAYMENT header
4. API verifies payment, returns 200 with data

Environment Variables

Variable

Required

Description

PRIVATE_KEY

No

EVM private key (hex, 0x-prefixed or raw) for auto-payment in paid mode


Requirements

  • Node.js ≥ 18

  • npm ≥ 8


License

MIT — see LICENSE


Available Tools

9 tools
agent_intelligenceA

Provides intelligence on agent wallets interacting with the Valorem x402 ecosystem. Returns active wallet addresses, x402 USDC spending patterns, top data providers, and behavioral signals. Cost: $1.00 USDC per call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and discloses the important cost per call ($1.00 USDC) plus a clear list of returned data. It doesn't mention other details like rate limits or side effects, but as a read-only data tool, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with front-loaded purpose, a clear output list, and cost. Every sentence provides distinct value without redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 0-param tool with no output schema, the description covers the primary purpose and returned data categories. It doesn't specify the exact structure of 'behavioral signals', but is otherwise complete for selecting and invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has zero parameters, so the baseline is 4. The description adds meaning by explaining what the tool returns, even though no parameter details are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool 'Provides intelligence on agent wallets interacting with the Valorem x402 ecosystem' and lists specific return data types (wallet addresses, spending patterns, top providers, behavioral signals). This clearly distinguishes it from sibling tools like catalog or builder_stats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied through the description: when you need intelligence on agent wallets in the ecosystem. However, it offers no explicit guidance on when to choose this tool over siblings, nor any exclusions or alternative references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

builder_statsA

Returns per-builder block-inclusion statistics for major Ethereum block builders: Flashbots, Titan, Beaver, BuilderNet, and Quasar. Includes acceptance rates, block counts, and health status. Cost: $0.25 USDC per call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the full transparency burden. It discloses the cost ($0.25 USDC per call), which is a key behavioral trait, and lists what data is returned (acceptance rates, block counts, health status). It does not mention data freshness or rate limits, but the cost and content disclosure is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences, each earning its place: the first states the core purpose and builders, the second details the metrics, and the third notes the cost. It is front-loaded and free of fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter, no-output-schema tool, the description is complete. It tells the agent exactly what data will be returned and informs about the required payment. No additional context is needed for selection or invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema is empty. According to the rubric, 0 params earns a baseline of 4. The description adds meaningful context about the output without needing to describe parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the exact resource (builder statistics) and action (returns), names the specific Ethereum block builders (Flashbots, Titan, Beaver, BuilderNet, and Quasar), and lists the metrics (acceptance rates, block counts, health status). This clearly distinguishes it from sibling tools like liquidation_watchlist or agent_intelligence.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that the tool should be used when builder statistics are needed, but it does not provide explicit when-to-use guidance or mention alternatives. Since the purpose is narrow and distinct from siblings, the usage context is somewhat acknowledged but not formally stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

catalogA

Returns the full Valorem MEV Intelligence service catalog — all available endpoints, their prices (USDC), and brief descriptions. This tool is free and requires no payment.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of transparency. It explicitly states the tool is free and requires no payment, and it describes the returned content. It does not mention rate limits or read-only status, but for a simple catalog tool, this is sufficient disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the main action, and contains no unnecessary words. It efficiently conveys the purpose and key cost information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with no parameters and no output schema. The description covers the purpose, the specific contents of the return value, and the cost structure. This is complete for the tool's low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description adds no parameter details because none exist, and the empty schema is adequate. No further explanation is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: returning the full Valorem MEV Intelligence service catalog with endpoints, prices, and descriptions. This specific verb+resource combination distinguishes it from the sibling tools, which are individual services rather than an overview.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used to discover available endpoints and pricing. It clearly provides context for when to use it, though it does not explicitly compare it to alternatives or state when not to use it. The free/no-payment note adds practical guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

decoded_hintsA

Returns the last 50 decoded MEV-Share hints from the Flashbots hint stream. Each hint includes swap direction (buy/sell), pool address, and token pair. Useful for front-running detection and MEV opportunity scanning. Cost: $0.10 USDC per call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and discloses important behavioral traits: call limit (last 50), output structure (swap direction, pool address, token pair), and cost ($0.10 USDC per call). It does not mention authentication or rate limits, but the disclosed cost and data details provide significant transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the main action, then provides useful detail and cost. Every sentence earns its place with no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately describes what the tool returns and what each hint contains, plus cost and use cases. This is sufficient for an agent to understand the tool's functionality and justify invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100%, so the description does not need to explain parameters. It instead describes the output, which is appropriate given the empty input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the last 50 decoded MEV-Share hints, with a specific action (returns), resource (hints from Flashbots stream), and detail (last 50). It distinguishes itself from sibling tools by mentioning MEV-Share hints, which no other sibling tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear use case: 'Useful for front-running detection and MEV opportunity scanning.' This gives context for when the tool would be relevant, though it does not explicitly mention when not to use it or name alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

liquidation_watchlistA

Fetches Aave V3 near-liquidation positions from Valorem's real-time monitor. Returns wallet addresses, health factors (close to 1.0 are at risk), collateral assets, debt assets, and liquidation thresholds. Cost: $0.50 USDC per call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It clearly indicates a read-only operation ('Fetches'), discloses the cost ($0.50 USDC per call), and explains return fields along with the meaning of health factors. It lacks details on authentication or error behavior, but for a simple parameterless fetch, this is adequate transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary action, followed by a concise list of return fields and cost. Every word earns its place, with no fluff or repetition of schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and no output schema, the description covers the essential aspects: what it fetches, the source, the key data fields, the interpretation of risk, and the cost. It is not overly verbose but leaves minor gaps such as network specificity and response format, which are acceptable for a simple data fetch.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, and the description correctly avoids extraneous parameter explanations. The baseline for no parameters is 4, and the description adds value by detailing the output fields, which helps the agent interpret the result.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the function: 'Fetches Aave V3 near-liquidation positions from Valorem's real-time monitor.' It uses a specific verb ('Fetches'), names the resource ('Aave V3 positions'), and adds a source ('Valorem's real-time monitor'). It also details the returned data (wallet addresses, health factors, etc.), which clearly distinguishes it from sibling tools focused on other data types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for monitoring liquidation risks by explaining health factors near 1.0 are risky, but it does not explicitly state when to use this tool versus alternatives. No exclusions or comparisons to sibling tools (e.g., pool_spreads, rpc_health) are provided, leaving the agent to infer applicability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pool_spreadsA

Detects arbitrage spread opportunities across 125+ liquidity pools on Base and Arbitrum L2 networks. Returns pool addresses, spread percentages, token pairs, and estimated profit windows. Cost: $0.05 USDC per call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full responsibility. It discloses the return data (pool addresses, spread percentages, token pairs, profit windows) and the per-call cost ($0.05 USDC), which is sufficient for a read-only detection tool. It does not describe error handling or rate limits, but these are not critical for this simple use case.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences with no fluff. It front-loads the core function, then lists return values and cost, making every sentence earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only tool with no output schema, the description covers the purpose, target networks, and return values. It is complete enough for an agent to decide when to invoke it, though it could optionally mention any time window or rate limit constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema reflects this (100% coverage). The description does not need to add parameter semantics, so the baseline of 4 applies per the guidelines.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('detects') and resource ('arbitrage spread opportunities'), and adds distinguishing details (125+ pools, Base and Arbitrum L2 networks). This effectively differentiates it from sibling tools like liquidation_watchlist or token_safety.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when arbitrage spread detection is needed, and the network scope further clarifies context. However, it does not explicitly mention when not to use it or name alternative tools, so it lacks explicit exclusions but provides clear context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rpc_healthA

Returns real-time health metrics for multiple RPC providers: latency (ms), success rate, error rate, and uptime. Useful for routing decisions in high-frequency MEV strategies. Cost: $0.01 USDC per call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses a key behavioral trait by noting the cost ($0.01 USDC per call) and states data is real-time. However, it does not mention rate limits, data source freshness, authentication, or error behavior, leaving some important operational context unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, each providing necessary information: what the tool returns and when it is useful, plus the cost. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (no parameters), and the description enumerates the returned metrics, which largely compensates for the lack of an output schema. However, it could be slightly more complete by specifying how metrics are returned (e.g., per-provider object) or which providers are included, but the current level is adequate for agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema is trivially covered. The description adds no parameter-specific meaning, but none is needed. Baseline 4 is appropriate because the empty schema cannot be supplemented further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb ('Returns') with a clear resource ('real-time health metrics for multiple RPC providers') and specifies the exact metrics (latency, success rate, error rate, uptime). This clearly distinguishes it from siblings like rpc_proxy, which likely handles actual RPC calls, and other data tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear use case: 'Useful for routing decisions in high-frequency MEV strategies.' This gives context for when to invoke the tool, though it does not explicitly mention when not to use it or name alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rpc_proxyA

Proxies a JSON-RPC call through Valorem's premium Reth L1 node (~6 ms latency). Supports any standard Ethereum JSON-RPC method. Cost: $0.001 USDC per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoRequest ID — any integer or string.
methodYesEthereum JSON-RPC method (e.g. eth_blockNumber, eth_call, eth_getBalance, eth_sendRawTransaction)
paramsNoMethod parameters array. Pass [] for methods that take no params.
jsonrpcNoJSON-RPC version string. Always use "2.0".2.0

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses latency (~6 ms), cost ($0.001 USDC per call), and the node provider (Valorem's Reth L1 node), which is useful context. However, it does not disclose whether the proxy is read-only or can broadcast state-changing methods (e.g., eth_sendRawTransaction), nor error handling, rate limits, or authentication. This is a moderate gap for a generic proxy.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core function, then adds latency and cost. Every sentence earns its place with no fluff. It is appropriately concise for a tool with a well-defined schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that this is a generic JSON-RPC proxy and the schema fully documents parameters, the description is relatively complete. It covers what the tool does, performance characteristics, and pricing. However, the lack of any output schema or mention of the standard JSON-RPC response format leaves a small gap. Also, the absence of annotations means the description must fully disclose safety/behavioral aspects, which it only partially does (e.g., no explicit statement about write support). Still, for a proxy, the description is strong.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with each parameter having a clear description. The tool description adds method examples (eth_blockNumber, eth_call) and notes 'Pass [] for methods that take no params', which slightly complements the schema. However, the description does not add novel parameter context beyond what the schema already provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action: 'Proxies a JSON-RPC call through Valorem's premium Reth L1 node'. It also specifies the scope ('Supports any standard Ethereum JSON-RPC method'), which distinguishes it from the sibling data-lookup tools (catalog, builder_stats, etc.). The verb 'proxies' + resource 'JSON-RPC call' is precise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for use: it is a generic proxy for any standard JSON-RPC method, and the cost implies it is a paid service. However, it does not explicitly state when NOT to use it or mention alternatives. Given the sibling list, this tool is clearly the only raw RPC proxy, but explicit exclusionary guidance is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_safetyA

Classifies an ERC-20 token as taxed, rebasing, or reflective — three patterns that cause unexpected losses in MEV and arb strategies. Cost: $0.02 USDC per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesERC-20 token contract address with 0x prefix (e.g. 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the cost ($0.02 USDC per call) and the three classification outputs (taxed, rebasing, reflective), which are behavioral traits beyond a mere read operation. It doesn't explicitly state read-only status, but 'classifies' implies it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the primary action and resource, and includes only essential information (classification categories and cost). No redundant or vague wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with a single well-documented parameter. The description covers its purpose and cost, which is sufficient for an agent to select and invoke it. It doesn't describe return format, but no output schema exists and the classification categories are already given in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a detailed description of the `token` parameter, including format and example. The tool description adds no new semantic information about the parameter, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Classifies an ERC-20 token as taxed, rebasing, or reflective' — a specific verb and resource. It also provides the output categories, which fully distinguishes it from the sibling tools (e.g., catalog, pool_spreads) that have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case by mentioning 'MEV and arb strategies', providing clear context for when to use the tool. It doesn't explicitly list exclusions or alternative tools, but no sibling tool overlaps with this functionality, so the implicit guidance is sufficient.

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. Dates show when Glama detected each change.

  1. 9 tool updatesv1.0.0
    • First observedagent_intelligence
    • First observedbuilder_stats
    • First observedcatalog
    • First observeddecoded_hints
    • First observedliquidation_watchlist
    • First observedpool_spreads
    • First observedrpc_health
    • First observedrpc_proxy
    • First observedtoken_safety

TDQS

A4.4/5.0
Disambiguation5/5

Each tool serves a distinctly different purpose: catalog lists endpoints, liquidation_watchlist monitors Aave positions, decoded_hints scans MEV hints, builder_stats shows block builder health, agent_intelligence tracks wallet behavior, pool_spreads detects arbitrage, token_safety classifies token types, and rpc_health/rpc_proxy handle RPC monitoring and proxying. There is no overlap or ambiguity between any two tools.

Naming Consistency5/5

All tool names follow a consistent snake_case noun-phrase pattern (e.g., liquidation_watchlist, builder_stats, rpc_health). The naming is uniform and predictable, making it easy for an agent to infer the tool's domain from its name alone.

Tool Count5/5

With 9 tools, the server is well-scoped for a MEV intelligence and RPC service. Each tool covers a distinct data or action category without redundancy or bloat, fitting comfortably within the ideal 3-15 tool range.

Completeness5/5

The tool set covers the full lifecycle of the service: a catalog for discovery, data endpoints for MEV-related insights (liquidations, hints, builder stats, agent intel, spreads, token safety), and infrastructure tools (RPC health, proxy). The catalog tool explicitly lists all available endpoints, confirming no obvious gaps in the exposed surface.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ValoremFoundation/valorem-mev-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server