Skip to main content
Glama
DeloraProtocol

Delora MCP

Official

Delora MCP

MCP (Model Context Protocol) server for the Delora API: cross-chain quotes, supported chains, tokens, and tools.

Install

npm install

Related MCP server: Relay Protocol MCP Server

Configuration

Copy env.example to .env and adjust:

Variable

Description

Default

DELORA_API_URL

Delora API base URL

https://api.delora.build

DELORA_API_KEY

Optional API key forwarded to Delora API as x-api-key

unset

MCP_TRANSPORT

stdio or http

stdio

PORT

HTTP server port (when MCP_TRANSPORT=http)

3000

HOST

HTTP bind address

0.0.0.0

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 start

HTTP — for streamable HTTP (e.g. behind a reverse proxy):

npm run dev:http
# or
npm run build && npm run start:http

Server 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-mcp

For 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

get_instructions

Returns this guide (call first for workflow).

get_quote

GET /v1/quotes — cross-chain quote.

get_chains

GET /v1/chains — supported chains.

get_tools

GET /v1/tools — available tools.

get_tokens

GET /v1/tokens — supported tokens.

get_token

GET /v1/token — single token by chain + token.

Available Tools

6 tools
get_chainsAInspect

List supported chains. Optionally filter by chainTypes (e.g. EVM,SVM).

ParametersJSON Schema
NameRequiredDescriptionDefault
chainTypesNoComma-separated chain types, e.g. EVM,SVM

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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…

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?

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
originChainIdYesOrigin chain ID (e.g. 1 for Ethereum, 42161 for Arbitrum)
destinationChainIdYesDestination chain ID
amountYesAmount in smallest units (wei/smallest decimals)
originCurrencyYesToken address on origin chain; use 0x0... for native currency
destinationCurrencyYesToken address on destination chain; use 0x0... for native
senderAddressNoSender wallet address
receiverAddressNoReceiver wallet address
integratorNoIntegrator identifier
feeNoFee 0–0.1 (only with integrator)
slippageNoSlippage tolerance 0–1 (e.g. 0.005 for 0.5%)

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

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: '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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesChain ID or chain identifier
tokenYesToken address or symbol

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainsNoComma-separated chain IDs or identifiers
chainTypesNoChain types, e.g. EVM,SVM

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 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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
chainsNoComma-separated chain IDs or identifiers

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct resource: chains, instructions, quote, token, tokens, tools. No overlapping purposes, clear differentiation.

Naming Consistency5/5

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.

Tool Count5/5

6 tools is well-scoped for a cross-chain quote server. Covers discovery, guidance, and quote retrieval without being excessive or too few.

Completeness5/5

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

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    9
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides 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.
    10
    60
    4
    MIT

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/DeloraProtocol/delora-mcp'

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