Delora MCP
OfficialClick 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., "@Delora MCPget a cross-chain quote for 100 USDC from Ethereum to Arbitrum"
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.
Delora MCP
MCP (Model Context Protocol) server for the Delora API: cross-chain quotes, supported chains, tokens, and tools.
Install
npm installRelated MCP server: Relay Protocol MCP Server
Configuration
Copy env.example to .env and adjust:
Variable | Description | Default |
| Delora API base URL |
|
| Optional API key forwarded to Delora API as | unset |
|
|
|
| HTTP server port (when |
|
| HTTP bind address |
|
When DELORA_API_KEY is set, the MCP server forwards it to Delora API as the x-api-key header. In HTTP mode, the server also accepts incoming x-api-key or Authorization: Bearer ... headers and forwards the resolved key upstream. For HTTP requests, incoming headers take priority over DELORA_API_KEY. For stdio, DELORA_API_KEY remains the way to provide the key.
Run
Stdio (default) — for Cursor/IDE MCP over stdio:
npm run dev
# or
npm run build && npm startHTTP — for streamable HTTP (e.g. behind a reverse proxy):
npm run dev:http
# or
npm run build && npm run start:httpServer listens on http://0.0.0.0:3000/mcp.
Cursor configuration
Stdio:
{
"mcpServers": {
"delora": {
"command": "node",
"args": ["/path/to/delora-mcp/dist/index.js"]
}
}
}Streamable HTTP (e.g. after deploying to https://mcp.delora.build):
{
"mcpServers": {
"delora": {
"url": "https://mcp.delora.build/mcp",
"transport": "streamable-http",
"headers": {
"x-api-key": "YOUR_API_KEY"
}
}
}
}You can also use Authorization: Bearer YOUR_API_KEY instead of x-api-key when your MCP client supports custom HTTP headers.
Docker
Build and run:
docker build -t delora-mcp .
docker run -p 3000:3000 -e MCP_TRANSPORT=http delora-mcpFor production behind a domain (e.g. mcp.delora.build): run the container with MCP_TRANSPORT=http and put nginx/traefik (or another reverse proxy) in front with HTTPS; then use the URL https://mcp.delora.build/mcp with streamable-http in Cursor.
API
Delora API — base URL for all
/v1/*endpoints (quotes, chains, tokens, tools, token).
Tools
Tool | Description |
| Returns this guide (call first for workflow). |
| GET /v1/quotes — cross-chain quote. |
| GET /v1/chains — supported chains. |
| GET /v1/tools — available tools. |
| GET /v1/tokens — supported tokens. |
| GET /v1/token — single token by chain + token. |
Available Tools
6 toolsget_chainsAInspect
List supported chains. Optionally filter by chainTypes (e.g. EVM,SVM).
| Name | Required | Description | Default |
|---|---|---|---|
| chainTypes | No | Comma-separated chain types, e.g. EVM,SVM |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It correctly implies a read-only operation ('list'), but does not disclose potential nuances like rate limits, authentication requirements, or whether the list is exhaustive. For a simple listing tool, this is acceptable but not exemplary.
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 extremely concise with two sentences, front-loading the primary action. Every sentence adds value without redundancy.
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 (one optional parameter, no output schema, no nested objects), the description fully covers the necessary information. There is no missing context needed for correct invocation.
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 covers the only parameter with a description, and the tool's description adds an example ('e.g. EVM,SVM') that clarifies usage beyond the schema. This provides additional semantic value.
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 uses a specific verb 'List' and resource 'chains', clearly indicating the tool's function. It is well-distinguished from sibling tools like get_instructions, get_quote, etc., which focus on different resources.
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 mentions optional filtering but lacks explicit guidance on when to use this tool vs alternatives or when not to use it. The context of sibling tools suggests different purposes, so it's adequate but not thorough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_instructionsAInspect
CALL THIS FIRST. Returns the guide for Delora MCP: how to get quotes, chains, tokens, tools…
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates the tool returns a guide but does not disclose details about side effects, permissions, or return format. Adequate but not rich.
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, front-loaded with key instruction 'CALL THIS FIRST.' Every word earns its place; no wasted text.
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 parameterless tool with no output schema, the description provides sufficient context: it is the initial call to get an overview. Could elaborate on guide contents, but overall complete for its simplicity.
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?
No parameters, schema coverage 100%. Description adds meaning by explaining the tool returns a guide, which is beyond the schema's type definition. Baseline 4 applies.
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?
Description clearly states it returns the guide for Delora MCP, with a specific verb and resource. It distinguishes itself from sibling tools like get_chains, get_quote, etc., by being the first call.
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?
Explicitly instructs 'CALL THIS FIRST,' providing clear context for when to use this tool over siblings. No when-not or alternatives mentioned, but the context is sufficient for a starting point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quoteAInspect
Get a cross-chain quote: best route, output amount, calldata, gas. Use get_chains and get_tokens first to resolve chain IDs and token addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| originChainId | Yes | Origin chain ID (e.g. 1 for Ethereum, 42161 for Arbitrum) | |
| destinationChainId | Yes | Destination chain ID | |
| amount | Yes | Amount in smallest units (wei/smallest decimals) | |
| originCurrency | Yes | Token address on origin chain; use 0x0... for native currency | |
| destinationCurrency | Yes | Token address on destination chain; use 0x0... for native | |
| senderAddress | No | Sender wallet address | |
| receiverAddress | No | Receiver wallet address | |
| integrator | No | Integrator identifier | |
| fee | No | Fee 0–0.1 (only with integrator) | |
| slippage | No | Slippage tolerance 0–1 (e.g. 0.005 for 0.5%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It states the tool returns 'best route, output amount, calldata, gas,' which implies read-only behavior. However, it does not mention that no state changes occur, nor does it discuss permissions, rate limits, or error conditions. This is adequate but not exhaustive.
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 consists of two sentences: the first states the tool's function, and the second provides essential prerequisite guidance. Every word is informative and there is no 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 the tool has 10 parameters, no output schema, and no annotations, the description provides useful prerequisite guidance (use get_chains and get_tokens first) but lacks details on output format, parameter interdependencies (e.g., sender/receiver optionality, fee constraint), or common error scenarios. It is somewhat complete but could be more helpful for a complex multi-parameter tool.
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% and each parameter has a clear description in the schema. The tool description adds no additional parameter-level detail beyond summarizing the overall return. It does hint at requiring prior resolution of chain IDs and token addresses, but this is more about usage context. With complete schema coverage, a baseline score of 3 is appropriate.
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: 'Get a cross-chain quote: best route, output amount, calldata, gas.' It distinguishes this tool from siblings like get_chains (which lists chains) and get_tokens (which lists tokens) by specifying that it provides a quote for cross-chain transfers.
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 explicitly advises to use get_chains and get_tokens first to resolve chain IDs and token addresses, providing clear context for when to use this tool. It does not explicitly address when not to use it or mention alternatives, but the guidance is sufficient given the sibling tools serve different purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tokenAInspect
Get a single token by chain and token address/symbol.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain ID or chain identifier | |
| token | Yes | Token address or symbol |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description is the sole source. It indicates a read-only behavior (gets a token) but does not disclose what happens if the token is not found, authentication requirements, rate limits, or any other operational traits.
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, highly concise, and immediately communicates the core function. No wasted words.
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 tool with two required parameters and no output schema, the description covers the essential purpose and inputs. Lacks mention of output format or error handling, but adequate for the complexity.
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 100%, so baseline is 3. The description adds value by clarifying that 'token' can be an address or symbol, which is slightly more explicit than the schema's 'Token address or symbol'.
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 verb 'Get' and resource 'single token', distinguishing it from sibling tools like get_tokens which likely retrieve multiple tokens. The input parameters (chain and token address/symbol) are explicitly mentioned.
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?
No explicit guidance on when to use this tool versus alternatives like get_tokens. The context implies it's for retrieving a specific token by identifier, but no exclusion criteria or when-not advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tokensAInspect
List supported tokens. Optionally filter by chains and/or chainTypes.
| Name | Required | Description | Default |
|---|---|---|---|
| chains | No | Comma-separated chain IDs or identifiers | |
| chainTypes | No | Chain types, e.g. EVM,SVM |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. 'List' implies a read-only operation, but there is no mention of authentication, rate limits, or whether results are paginated. The description is minimal but sufficient for a simple listing 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 a single, well-structured sentence with 8 words. It front-loads the main action 'List supported tokens' and then adds the optional filtering condition. No wasted words.
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 list tool with no output schema, the description adequately covers purpose and optional parameters. It could mention that the result is a list of token objects, but that is implied. The tool is complete enough for an agent to use correctly.
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 100% with descriptions for both parameters. The description adds that filtering is optional, but does not provide format details beyond the schema's comma-separated and example values. Baseline 3 is appropriate.
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 lists supported tokens and allows optional filtering by chains and chainTypes. It distinguishes from 'get_token' which retrieves a specific token, and other siblings like 'get_chains'.
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 specifies when to use optional filters ('Optionally filter'), which guides usage. However, it does not explicitly mention when not to use this tool or contrast it with alternatives like 'get_token' for a single token.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_toolsAInspect
List available tools (e.g. bridges, DEXes). Optionally filter by chains (comma-separated).
| Name | Required | Description | Default |
|---|---|---|---|
| chains | No | Comma-separated chain IDs or identifiers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only states a read-like operation ('list'), but does not disclose any side effects, authentication needs, rate limits, or response structure. Agent cannot infer behaviors like idempotency or safety beyond the surface.
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 short sentences, front-loaded with core purpose, zero redundant words. Every word adds value.
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?
No output schema, no annotations, and minimal description leaves significant gaps: no return format, no pagination info, no distinction from sibling tools beyond name. Agent lacks essential context for correct invocation.
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 100% for the single parameter 'chains', but description adds value by clarifying it's optional and specifying comma-separated format, which is not explicit in schema description.
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?
Description uses specific verb 'List' and resource 'available tools' with concrete examples (bridges, DEXes), clearly distinguishing it from siblings like get_chains (list chains) or get_quote (get quotes).
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?
Implies use when listing tools is needed, but lacks explicit when-not, prerequisites, or comparisons with alternatives. The optional chains filter is mentioned, but no guidance on when filtering is necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct resource: chains, instructions, quote, token, tokens, tools. No overlapping purposes, clear differentiation.
All tools follow a consistent 'get_' prefix with singular or plural nouns (get_chains, get_instructions, get_quote, get_token, get_tokens, get_tools). Predictable pattern.
6 tools is well-scoped for a cross-chain quote server. Covers discovery, guidance, and quote retrieval without being excessive or too few.
The set covers all necessary operations: listing chains, tokens, and tools; retrieving a specific token; getting a quote; and providing instructions. No obvious gaps for its stated purpose.
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
Cross-network DeFi API data, AMM analytics, and SDK docs for 17+ networks.
Doc search, intent & cross-chain swaps, limit orders, portfolio, spot prices, gas & all APIs.
Token swaps and honeypot/rug checks for AI agents on 8 chains, paid per-call in USDC via x402.
17-model LLM gateway + 350+ data/KYB/sanctions tools. Pay-per-call USDC via x402, no API key.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables cross-chain cryptocurrency swap quotes and operations using the deBridge DLN protocol. Provides read-only access to swap estimates, supported chains, token information, and order status tracking across multiple blockchain networks.1
- AlicenseAqualityCmaintenanceEnables cross-chain bridging, multi-chain token swaps, and real-time pricing across over 50 blockchain networks using the Relay Protocol REST API. It allows users to browse thousands of tokens, generate quotes, and monitor transaction status directly through natural language.91MIT
- AlicenseAqualityCmaintenanceProvides cross-chain bridge and swap tools for AI agents using the Relay Protocol to interact with multiple blockchain networks. It enables agents to query supported chains, obtain transaction quotes, and generate unsigned transaction data for token transfers and swaps.10604MIT

onchainos MCP Serverofficial
FlicenseNot gradedqualityBmaintenanceEnables on-chain operations including token search, market data, wallet management, swap execution, and DApp interactions across 20+ blockchains.328
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/DeloraProtocol/delora-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server