Philidor MCP Server
The Philidor MCP Server provides institutional-grade risk analytics for AI agents to analyze DeFi vaults across 700+ vaults on Morpho, Aave, Yearn, Beefy, and Spark protocols.
Search Vaults (
search_vaults): Filter and discover vaults by chain, protocol, asset, risk tier (Prime/Core/Edge), TVL, and sort by TVL, APR, or name.Vault Details (
get_vault): Retrieve comprehensive info for a specific vault — risk breakdown, recent events, and historical snapshots — by vault ID or network + contract address.Risk Breakdown (
get_vault_risk_breakdown): Decompose a vault's three risk vectors: Asset Composition (40%), Platform Code (40%), and Governance (20%), including sub-metrics, caps, hard-fail flags, and overrides.Compare Vaults (
compare_vaults): Side-by-side comparison of 2–3 vaults on TVL, APR, risk score, risk tier, and audit status.Find Safest Vaults (
find_safest_vaults): Discover the top 10 safest audited vaults, optionally filtered by asset, chain, or minimum TVL.Protocol Info (
get_protocol_info): Retrieve protocol-level details including TVL, vault count, versions, auditors, bug bounties, and security incident history.Curator Intelligence (
get_curator_info): Look up vault curators to see their managed vaults, total TVL, chain distribution, and performance metrics.Market Overview (
get_market_overview): High-level snapshot of the DeFi vault market — total TVL, vault count, risk tier distribution, and TVL by protocol.Explain Risk Scores (
explain_risk_score): Understand what any risk score (0–10) means, including its tier, calculation methodology, and thresholds.Incident Tracking (
list_vaults_with_incidents): Identify vaults with recent critical security incidents within the last 365 days.
Works with Claude Desktop, Claude Code, Cursor, Windsurf, and other MCP-compatible clients. Available via hosted server (no API key needed) or locally via Docker/stdio.
Click on "Install 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., "@Philidor MCP ServerFind the safest USDC vaults on Ethereum with at least $10M TVL"
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.
Philidor MCP Server
DeFi vault risk analytics for AI agents
Search 700+ DeFi vaults across Morpho, Aave, Yearn, Beefy, and Spark. Compare risk scores, analyze protocols, run due diligence — all through natural language.
No API key required. No installation needed.
Quick Start • Tools • Example Prompts • Risk Framework • Agent Skill
Why Philidor?
Most DeFi data tools give you raw numbers. Philidor gives your AI agent institutional-grade risk intelligence.
Feature | Philidor | DefiLlama MCP | Generic DeFi APIs |
Vault risk scores (0–10) | :white_check_mark: | :x: | :x: |
Risk vector decomposition | :white_check_mark: | :x: | :x: |
Vault comparison | :white_check_mark: | :x: | :x: |
Curator intelligence | :white_check_mark: | :x: | :x: |
Protocol security history | :white_check_mark: | :x: | Partial |
Due diligence prompts | :white_check_mark: | :x: | :x: |
Portfolio risk assessment | :white_check_mark: | :x: | :x: |
No API key needed | :white_check_mark: | :white_check_mark: | Varies |
Hosted (zero install) | :white_check_mark: | :x: | :x: |
Related MCP server: defi-yield-scanner-mcp
Quick Start
Remote Server (Recommended)
Connect directly to the hosted server — zero installation, always up to date:
https://mcp.philidor.io/api/mcpClaude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"philidor": {
"url": "https://mcp.philidor.io/api/mcp"
}
}
}Claude Code
claude mcp add philidor --transport http https://mcp.philidor.io/api/mcpCursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"philidor": {
"url": "https://mcp.philidor.io/api/mcp"
}
}
}Windsurf
Add to your MCP settings:
{
"mcpServers": {
"philidor": {
"serverUrl": "https://mcp.philidor.io/api/mcp"
}
}
}Docker (stdio)
docker run -i --rm ghcr.io/philidor-labs/philidor-mcpLocal (stdio)
git clone https://github.com/Philidor-Labs/philidor-mcp.git
cd philidor-mcp
npm install
npm startTools
10 tools for vault discovery, risk analysis, and protocol research.
search_vaults
Search and filter DeFi vaults by chain, protocol, asset, risk tier, TVL, and more.
Parameter | Type | Description |
| string | Search by vault name, symbol, asset, protocol, or curator |
| string | Filter by chain (Ethereum, Base, Arbitrum, ...) |
| string | Filter by protocol ID (morpho, aave-v3, yearn-v3, beefy, spark) |
| string | Filter by asset symbol (USDC, WETH, ...) |
| string | Filter by risk tier: Prime, Core, or Edge |
| number | Minimum TVL in USD |
| string | Sort field: tvl_usd, apr_net, name |
| string | Sort order: asc or desc |
| number | Max results (default 10, max 50) |
get_vault
Get detailed information about a specific vault including risk breakdown, recent events, and historical snapshots. Lookup by id or by network + address.
Parameter | Type | Description |
| string | Vault ID (e.g. |
| string | Network slug (ethereum, base, arbitrum) |
| string | Vault contract address (0x...) |
get_vault_risk_breakdown
Detailed breakdown of a vault's three risk vectors with sub-metrics: asset quality, platform code maturity, and governance controls. Returns dimension-level scores, caps, hard-fail flags, and overrides.
Parameter | Type | Description |
| string | Network slug |
| string | Vault contract address |
compare_vaults
Side-by-side comparison of 2–3 vaults on TVL, APR, risk score, risk tier, and audit status.
Parameter | Type | Description |
| array | Array of 2–3 objects with |
find_safest_vaults
Find the top 10 audited, high-confidence vaults sorted by risk score.
Parameter | Type | Description |
| string | Filter by asset symbol |
| string | Filter by chain name |
| number | Minimum TVL in USD |
get_protocol_info
Protocol details including TVL, vault count, versions, auditors, bug bounties, and security incidents.
Parameter | Type | Description |
| string | Protocol ID (morpho, aave-v3, yearn-v3, beefy, spark) |
get_curator_info
Curator details including managed vaults, TVL, chain distribution, and performance metrics.
Parameter | Type | Description |
| string | Curator ID |
get_market_overview
High-level DeFi vault market statistics: total TVL, vault count, risk distribution, and TVL by protocol. No parameters required.
explain_risk_score
Explain what a specific risk score means, including the tier, calculation method, and thresholds.
Parameter | Type | Description |
| number | Risk score (0–10) |
list_vaults_with_incidents
List all vaults that had a recent critical incident (last 365 days). Sorted by TVL descending, then by recency. No parameters required.
Resources
URI | Description |
| The Vector Risk Framework v4.1 documentation |
| Supported blockchain networks with vault counts |
| Supported DeFi protocols with TVL data |
Prompts
Prompt | Description |
| Comprehensive due diligence report for a vault |
| Portfolio-level risk analysis across positions |
| Yield comparison with risk-adjusted analysis |
Example Prompts
Once connected, try asking your AI assistant:
Discovery
"Find the safest USDC vaults with at least $10M TVL"
"What Morpho vaults are available on Base?"
"Show me the DeFi market overview"
Analysis
"Run due diligence on the Steakhouse USDC vault on Ethereum"
"Compare the top 3 USDC vaults by risk score"
"What's the risk breakdown for this vault: ethereum/0x..."
Portfolio
"Assess my portfolio: 50% in Morpho Steakhouse USDC, 30% in Aave USDC, 20% in Yearn USDC"
"Which protocols have had security incidents?"
"What does a risk score of 8.5 mean?"
Risk Scoring
Philidor uses the Vector Risk Framework v4.1 to decompose vault risk into three measurable vectors:
Final Score = 40% Asset + 40% Platform + 20% GovernanceAsset Composition (40%)
Quality of underlying collateral. Blue-chip assets (ETH, USDC) score highest. Factors include oracle reliability, liquidity depth, and peg stability.
Platform Code (40%)
Code maturity measured by:
Lindy Score — time-based safety (>2 years ≈ 9/10)
Audit Density — number and quality of audits
Dependency Risk — multiplicative penalties for risky dependencies
Incident Penalty — caps score after security incidents
Governance (20%)
Exit window for users:
Control | Score |
Immutable contract | 10/10 |
7+ day timelock | 9/10 |
No timelock | 1/10 |
Risk Tiers
Tier | Score | Meaning |
Prime | 8.0–10.0 | Institutional-grade — mature code, multiple audits, safe governance |
Core | 5.0–7.9 | Moderate safety — audited but newer or flexible governance |
Edge | 0.0–4.9 | Higher risk — requires careful due diligence |
Architecture
┌──────────────────┐ ┌─────────────────┐ ┌──────────────┐
│ Claude / Cursor │────▶│ Philidor MCP │────▶│ Philidor API │
│ Windsurf / etc. │◀────│ Server │◀────│ │
└──────────────────┘ └─────────────────┘ └──────┬───────┘
10 tools, 3 resources, │
3 prompts │
┌────▼────┐
│ On-chain │
│ data │
└─────────┘Transport: Streamable HTTP (remote) or stdio (local/Docker)
API: Calls the Philidor Public API — no API key needed
Stateless: Fresh server instance per request, no session state
Data: 700+ vaults across Ethereum, Base, Arbitrum, Polygon, Optimism, and Avalanche
Agent Skill
Install the Philidor MCP skill into your coding agent via skills.sh:
npx skills add philidor-labs/philidor-mcpThis gives your agent full knowledge of all tools, resources, prompts, recommended workflows, and best practices for DeFi vault analysis.
Also Available
Interface | Description | Link |
CLI | Terminal-based vault intelligence — scriptable, pipeable, agent-sandboxed | |
OpenClaw Skill | Skill definition for the OpenClaw agent platform |
Supported Protocols
Morpho, Aave v3, Yearn v3, Beefy, Spark — with more being added regularly.
See the full list at app.philidor.io.
Development
git clone https://github.com/Philidor-Labs/philidor-mcp.git
cd philidor-mcp
npm install
npm startThe server connects to the public Philidor API by default. To use a custom endpoint:
PHILIDOR_API_URL=http://localhost:3003 npm startLinks
Philidor Analytics — explore vaults and risk scores
Philidor CLI — terminal-based vault intelligence
API Documentation — OpenAPI/Swagger docs
Risk Methodology — how scores are calculated
Smithery — MCP server registry
Twitter — updates and announcements
License
Available Tools
9 toolscompare_vaultsAInspect
Compare 2-3 DeFi vaults side-by-side on TVL, APR, risk score, risk tier, audited status, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| vaults | Yes | Array of 2-3 vaults to compare |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks behavioral details. It doesn't disclose whether this is a read-only operation, if it requires authentication, rate limits, or what happens with invalid inputs. The phrase 'and more' is vague about additional metrics.
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?
Single sentence efficiently conveys purpose and key comparison metrics. No wasted words, and the structure is front-loaded with the core action ('compare 2-3 DeFi vaults').
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 comparison tool with no annotations and no output schema, the description adequately covers what metrics are compared but lacks details about return format, error handling, or behavioral constraints. The schema provides good parameter coverage, but overall completeness is moderate given the missing behavioral context.
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 100%, so the schema fully documents the 'vaults' parameter structure. The description adds no parameter-specific information beyond implying 2-3 vaults, which is already in the schema's minItems/maxItems. Baseline 3 is appropriate when schema does the heavy lifting.
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 clearly states the specific action ('compare') and resources ('2-3 DeFi vaults'), listing the exact comparison metrics (TVL, APR, risk score, etc.). It distinguishes from siblings like 'get_vault' (single vault) or 'find_safest_vaults' (different objective).
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 description implies usage for side-by-side comparison of specific metrics, but doesn't explicitly state when to use this tool versus alternatives like 'search_vaults' for broader discovery or 'get_vault_risk_breakdown' for detailed risk analysis. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_risk_scoreAInspect
Explain what a Philidor risk score means, including the tier (Prime/Core/Edge), how it is calculated, and what the thresholds are.
| Name | Required | Description | Default |
|---|---|---|---|
| score | Yes | Risk score (0-10) to explain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what the tool explains but lacks details on behavioral traits such as response format, potential errors (e.g., for invalid scores), or performance characteristics. This is a significant gap for a tool with no annotation coverage.
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, well-structured sentence that efficiently lists all key aspects (tier, calculation, thresholds) without unnecessary words. It is front-loaded with the core purpose and appropriately sized for the tool's complexity.
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 tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally complete but lacks depth. It covers what the tool explains but does not address behavioral aspects or output expectations, which are needed for full contextual understanding despite the simple schema.
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 100%, with the parameter 'score' documented as a number (0-10) to explain. The description does not add meaning beyond the schema, as it does not specify parameter usage or constraints. Baseline 3 is appropriate since the schema adequately covers parameter semantics.
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 clearly states the tool's purpose: to explain a Philidor risk score, including tier classification, calculation methodology, and thresholds. It specifies the verb 'explain' and the resource 'risk score,' distinguishing it from sibling tools that focus on vault operations, comparisons, or searches rather than score interpretation.
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 description implies usage when a user needs to understand a risk score's meaning, tiers, calculation, and thresholds. However, it does not explicitly state when to use this tool versus alternatives (e.g., get_vault_risk_breakdown for detailed risk components) or provide exclusions, leaving some ambiguity in sibling tool differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_safest_vaultsAInspect
Find the safest (highest risk-scored) DeFi vaults, optionally filtered by asset, chain, or minimum TVL. Returns top 10 audited, high-confidence vaults sorted by risk score.
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | Filter by asset symbol (e.g. USDC, WETH) | |
| chain | No | Filter by chain name (e.g. Ethereum, Base) | |
| minTvl | No | Minimum TVL in USD |
TDQS
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 key behavioral traits: the tool returns a limited set ('top 10'), includes quality criteria ('audited, high-confidence'), and sorts by 'risk score'. However, it does not cover aspects like rate limits, authentication needs, error handling, or whether the operation is read-only or has side effects, leaving gaps for a tool with no annotation support.
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 front-loaded with the core purpose and efficiently lists optional filters and output details in a single, well-structured sentence. Every element (e.g., 'top 10', 'audited', 'sorted by risk score') serves a clear purpose without redundancy, making it concise and easy to parse.
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 no annotations and no output schema, the description partially compensates by specifying the return format ('top 10 audited, high-confidence vaults sorted by risk score'). However, it lacks details on output structure, error cases, or behavioral constraints like pagination or rate limits. For a tool with 3 parameters and no structured support, it is adequate but has clear gaps in completeness.
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 100%, so the schema already documents all parameters (asset, chain, minTvl) with descriptions. The description adds minimal value by mentioning these filters as optional but does not provide additional semantics, syntax, or format details beyond what the schema provides. Baseline 3 is appropriate when the schema handles parameter documentation.
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 clearly states the specific action ('Find'), resource ('safest DeFi vaults'), and scope ('highest risk-scored'), distinguishing it from siblings like 'search_vaults' or 'get_vault' by emphasizing risk-based filtering and ranking. It explicitly mentions the output criteria ('top 10 audited, high-confidence vaults sorted by risk score'), making the purpose unambiguous.
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 description provides clear context for usage by specifying optional filters (asset, chain, minTvl) and the focus on risk-scored vaults, but it does not explicitly state when to use this tool versus alternatives like 'search_vaults' or 'compare_vaults'. It implies usage for finding high-risk-scored vaults but lacks explicit exclusions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_curator_infoCInspect
Get detailed information about a vault curator including their managed vaults, TVL, chain distribution, and performance.
| Name | Required | Description | Default |
|---|---|---|---|
| curatorId | Yes | Curator ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Get' implies a read operation, it doesn't address important behavioral aspects like whether this requires authentication, rate limits, error conditions, or what format the detailed information returns. The description mentions what information is included but not how it's structured or delivered.
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, efficient sentence that packs substantial information about what the tool returns. It's appropriately sized for a simple lookup tool with one parameter, though it could potentially be more front-loaded with the core purpose before listing specific data points.
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 simple lookup tool with one parameter and no output schema, the description provides reasonable coverage of what information is returned. However, without annotations or output schema, it lacks important context about behavioral characteristics, error handling, and response format that would be needed for optimal agent usage.
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 schema description coverage is 100% with the single parameter 'curatorId' documented as 'Curator ID'. The description adds no additional parameter semantics beyond what's already in the schema. The baseline score of 3 reflects adequate but minimal value added by the description regarding parameters.
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 clearly states the action ('Get detailed information') and resource ('vault curator'), with specific details about what information is included (managed vaults, TVL, chain distribution, performance). However, it doesn't explicitly differentiate from sibling tools like 'get_vault' or 'get_protocol_info' which might provide related but different information.
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 description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_vault', 'get_protocol_info', and 'search_vaults' available, there's no indication of when this specific curator-focused tool is appropriate versus those other options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_overviewAInspect
Get a high-level overview of the DeFi vault market: total TVL, vault count, risk distribution, and TVL by protocol.
| 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 full burden. It states what data is returned but does not disclose behavioral traits like data freshness (real-time vs. cached), rate limits, authentication needs, or error conditions. This is a significant gap for a tool with no annotation coverage.
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, efficient sentence that front-loads the purpose and lists key metrics. Every word contributes to understanding the tool's function without redundancy or fluff.
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 no annotations and no output schema, the description provides basic purpose but lacks behavioral context (e.g., data sources, update frequency) and output details (e.g., format of risk distribution). It is minimally adequate but has clear gaps for a tool returning complex market data.
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 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, earning a baseline score of 4 for not adding unnecessary information.
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 clearly states the specific action ('Get a high-level overview') and resource ('DeFi vault market'), listing concrete metrics (total TVL, vault count, risk distribution, TVL by protocol). It distinguishes from siblings like get_vault (single vault) or get_protocol_info (protocol-specific) by focusing on aggregate market data.
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 description implies usage for high-level market analysis, but does not explicitly state when to use this tool versus alternatives like get_vault_risk_breakdown (detailed risk) or search_vaults (filtered vaults). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_protocol_infoBInspect
Get detailed information about a DeFi protocol including TVL, vault count, versions, auditors, and security incidents.
| Name | Required | Description | Default |
|---|---|---|---|
| protocolId | Yes | Protocol ID (e.g. morpho, aave-v3, yearn-v3, beefy) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it indicates this is a read operation ('Get'), it does not specify whether it requires authentication, has rate limits, returns structured or raw data, or handles errors. For a tool with no annotation coverage, this leaves significant gaps in understanding its 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?
The description is a single, efficient sentence that front-loads the purpose and lists key details without unnecessary words. Every element (action, resource, examples of information) earns its place, making it highly concise and well-structured.
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 tool's low complexity (1 parameter, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose and output details but lacks behavioral context (e.g., authentication, error handling) and usage guidelines. For a simple read tool, this is minimally viable but has clear gaps.
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 input schema has 100% description coverage, with the single parameter 'protocolId' documented in the schema. The description does not add any additional meaning or examples beyond what the schema provides (e.g., it does not clarify the format of protocol IDs or list all possible values). Baseline score of 3 is appropriate as the schema handles the parameter documentation.
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 clearly states the action ('Get detailed information') and the resource ('a DeFi protocol'), with specific examples of the information returned (TVL, vault count, versions, auditors, security incidents). It distinguishes itself from sibling tools like 'get_vault' or 'get_market_overview' by focusing on protocol-level details rather than vaults or markets.
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 description provides no guidance on when to use this tool versus alternatives like 'get_vault' or 'get_market_overview'. It does not mention prerequisites, such as needing a protocol ID, or exclusions, such as not being suitable for comparing multiple protocols. Usage is implied but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vaultAInspect
Get detailed information about a specific DeFi vault including risk breakdown, recent events, and historical snapshots. Lookup by ID or by network + address.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Vault ID (e.g. morpho-ethereum-0x...) | |
| network | No | Network slug (e.g. ethereum, base, arbitrum) | |
| address | No | Vault contract address (0x...) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only operation by using 'Get' and 'Lookup', which is appropriate, but lacks details on permissions, rate limits, error handling, or response format. It adds some context about the data scope (risk, events, snapshots), but more behavioral traits would improve transparency for this unannotated tool.
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 front-loaded with the core purpose in the first sentence, followed by a concise second sentence on lookup methods. Both sentences earn their place by adding distinct value—no wasted words or redundancy. It is appropriately sized for a tool with three parameters and no annotations.
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 tool's moderate complexity (3 parameters, no annotations, no output schema), the description is partially complete. It covers the purpose and lookup methods well, but lacks details on behavioral aspects like response structure, error cases, or prerequisites. Without annotations or output schema, more context would help the agent use this tool effectively, though it's not critically inadequate.
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 100%, so the schema already documents all three parameters (id, network, address) with descriptions. The description adds marginal value by clarifying that these are alternative lookup methods ('by ID or by network + address'), but does not provide additional syntax, format, or usage details beyond what the schema specifies. This meets the baseline for high schema coverage.
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 clearly states the action ('Get detailed information') and resource ('specific DeFi vault'), specifying the type of information returned ('risk breakdown, recent events, and historical snapshots'). It distinguishes from siblings like 'get_vault_risk_breakdown' by offering broader details beyond just risk, and from 'search_vaults' by focusing on a single vault lookup rather than multiple results.
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 description provides clear context for when to use this tool: to retrieve comprehensive data on a single vault, using either an ID or network+address combination. However, it does not explicitly state when not to use it (e.g., vs. 'search_vaults' for multiple vaults or 'get_vault_risk_breakdown' for risk-only info), nor does it name alternatives, leaving some ambiguity in sibling tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vault_risk_breakdownCInspect
Get a detailed breakdown of a vault's risk vectors: Asset Composition, Platform Code, and Governance scores with sub-metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network slug (e.g. ethereum, base, arbitrum) | |
| address | Yes | Vault contract address (0x...) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns a 'detailed breakdown' with three score types, but doesn't specify output format (e.g., structured data, text summary), potential errors (e.g., invalid address handling), rate limits, or authentication needs. For a tool with no annotation coverage, this leaves significant gaps in understanding how it behaves beyond basic functionality.
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, efficient sentence that front-loads the core action ('Get a detailed breakdown') and lists key components. There's no wasted text, and it directly communicates the tool's function. However, it could be slightly more structured (e.g., bullet points for clarity) but remains highly concise.
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 tool's moderate complexity (risk analysis with multiple score types), no annotations, and no output schema, the description is minimally adequate. It covers what the tool does but lacks details on output format, error handling, or integration with siblings. Without annotations or output schema, more context on behavioral aspects would improve completeness for safe agent use.
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 100%, with both parameters ('network', 'address') fully documented in the schema. The description adds no additional parameter semantics beyond what the schema provides (e.g., no examples of valid network slugs beyond 'ethereum', no clarification on address format). Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
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 clearly states the tool's purpose with specific verbs ('Get a detailed breakdown') and resources ('vault's risk vectors'), listing the three main components (Asset Composition, Platform Code, Governance scores). It distinguishes itself from siblings like 'get_vault' or 'explain_risk_score' by focusing on risk breakdown rather than general vault data or score explanations. However, it doesn't explicitly contrast with all siblings (e.g., 'compare_vaults' also involves risk analysis).
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 description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a specific vault address), exclusions (e.g., not for comparing multiple vaults), or direct comparisons to sibling tools like 'explain_risk_score' (for detailed score explanations) or 'compare_vaults' (for multi-vault analysis). Usage is implied only through the tool name and description context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_vaultsAInspect
Search and filter DeFi vaults by chain, protocol, asset, risk tier, TVL, and more. Returns a paginated list with risk scores and APR.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search by vault name, symbol, asset, protocol, or curator | |
| chain | No | Filter by chain name (e.g. Ethereum, Base, Arbitrum) | |
| protocol | No | Filter by protocol ID (e.g. morpho, aave-v3, yearn-v3) | |
| asset | No | Filter by asset symbol (e.g. USDC, WETH) | |
| riskTier | No | Filter by risk tier: Prime, Core, or Edge | |
| minTvl | No | Minimum TVL in USD | |
| sortBy | No | Sort field: tvl_usd, apr_net, name, last_synced_at | |
| sortOrder | No | Sort order: asc or desc | |
| limit | No | Max results (default 10, max 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It usefully adds that the tool returns a 'paginated list with risk scores and APR', which goes beyond the input schema. However, it does not cover important aspects like rate limits, authentication needs, error conditions, or whether the search is real-time or cached, leaving gaps for a tool with 9 parameters.
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 front-loaded and efficiently structured in a single sentence, clearly stating the action, filterable attributes, and return format. Every word earns its place without redundancy, making it easy to parse quickly.
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 tool's complexity (9 parameters, no annotations, no output schema), the description is moderately complete. It covers the core purpose and return format but lacks details on behavioral traits (e.g., rate limits, auth), error handling, and output structure beyond 'paginated list with risk scores and APR'. For a search tool with rich filtering, more context would be beneficial.
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 schema description coverage is 100%, so the schema already documents all 9 parameters thoroughly. The description adds marginal value by listing some filter criteria ('chain, protocol, asset, risk tier, TVL') and mentioning 'and more', but does not provide additional syntax, format details, or constraints beyond what the schema specifies. Baseline 3 is appropriate when the schema does the heavy lifting.
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 clearly states the tool's purpose with specific verbs ('search and filter') and resources ('DeFi vaults'), listing multiple filter criteria. It distinguishes itself from siblings like 'get_vault' (single vault) and 'find_safest_vaults' (specific risk focus) by emphasizing comprehensive search capabilities.
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 description implies usage context through the listed filter criteria (e.g., 'by chain, protocol, asset, risk tier'), suggesting when to use it for multi-criteria searches. However, it lacks explicit guidance on when to choose this tool over alternatives like 'find_safest_vaults' or 'get_market_overview', and does not mention exclusions or prerequisites.
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.
9 tool updates
v1.0.0- First observed
compare_vaults - First observed
explain_risk_score - First observed
find_safest_vaults - First observed
get_curator_info - First observed
get_market_overview - First observed
get_protocol_info - First observed
get_vault - First observed
get_vault_risk_breakdown - First observed
search_vaults
TDQS
Each tool has a clearly distinct purpose targeting specific resources and actions in the DeFi vault domain, with no overlap that could cause confusion. For example, 'get_vault' retrieves detailed vault information, while 'get_vault_risk_breakdown' focuses specifically on risk metrics, and 'search_vaults' handles filtering and listing.
All tool names follow a consistent verb_noun pattern using snake_case, such as 'compare_vaults', 'explain_risk_score', and 'get_vault_risk_breakdown'. This predictable naming convention makes the tool set easy to navigate and understand.
With 9 tools, the server is well-scoped for analyzing DeFi vaults, covering key aspects like risk assessment, market overview, and vault details. Each tool serves a unique function without redundancy, making the count appropriate for the domain.
The tool set provides comprehensive coverage for DeFi vault analysis, including CRUD-like operations (e.g., get, search, compare), risk explanation, market insights, and curator/protocol details. There are no obvious gaps that would hinder an agent from performing essential tasks in this domain.
Maintenance
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
DeFi safety layer for AI agents: wallet safety, token risk, tx decode/simulate. 20 tools.
45 AI data tools for agents — crypto, DeFi risk, audits, equities, energy, and more.
Crypto yield data for AI agents: lending, savings, staking, borrowing & stablecoin rates. 18 tools.
RiskDataApi — Solana token risk scoring for AI agents. Safety score, insider clusters, honeypot.
31
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceReal-time crypto risk scoring for AI agents. Trust Score, crash probability, and distance-to-default for 205 tokens. Free, no API key needed.MIT- AlicenseAqualityDmaintenanceReal-time DeFi analytics MCP server for AI agents. Provides token risk analysis, yield scanning, and wallet exposure checking across Base, Ethereum, and Arbitrum.3141MIT
- AlicenseNot gradedqualityBmaintenanceThe verifiable risk engine for autonomous agents: deterministic, self-verifying financial calculations that an agent can delegate and prove. It covers liquidation and funding, position sizing and risk of ruin, options Greeks and margin, LP divergence, treasury concentration and depeg, execution quality checks, plus intelligence on options, DeFi, prediction markets, and transaction safety analysis.51MIT
- AlicenseBqualityDmaintenanceProvides AI agents with research tools for AI agent ecosystem analysis, DeFi protocol analysis, and general market research.329MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Philidor-Labs/philidor-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server