Skip to main content
Glama
Orderly Network MCP Server

Orderly Network MCP Server

Official

Orderly Network MCP Server

A Model Context Protocol (MCP) server providing documentation and SDK patterns for Orderly Network - an omnichain perpetual futures trading infrastructure.

Quick Start

Install the MCP server with one command for your AI client:

npx @orderly.network/mcp-server init --client <client>

Supported clients: claude, cursor, vscode, codex, opencode

Examples

# OpenCode
npx @orderly.network/mcp-server init --client opencode

# Claude Code
npx @orderly.network/mcp-server init --client claude

# Cursor
npx @orderly.network/mcp-server init --client cursor

# VS Code (with Copilot)
npx @orderly.network/mcp-server init --client vscode

# Interactive mode (prompts for client selection)
npx @orderly.network/mcp-server init

This command will:

  1. Create the appropriate configuration file for your AI client

  2. Install @orderly.network/mcp-server as a dev dependency

  3. Guide you through the next steps

After installation: Restart your AI client and try asking: "How do I connect to Orderly Network?"


Related MCP server: hyperliquid-mcp

What This Server Provides

This MCP server enables AI assistants to answer questions about Orderly Network and guide developers in building React components using the Orderly SDK v2.

Features

  • Documentation Search: Query Orderly docs for architecture, APIs, and concepts

  • SDK Patterns: Get code examples for all v2 hooks (useOrderEntry, usePositionStream, etc.)

  • Contract Addresses: Lookup smart contract addresses for all supported chains

  • Workflow Guides: Step-by-step explanations of common development tasks

  • Component Guides: Patterns for building trading UI components

  • API Reference: REST and WebSocket endpoint documentation

  • Indexer API: Trading metrics, account events, trades, and volume statistics

  • Orderly Predict: 5-minute BTC Up/Down rounds, order rules, settlement, fees, and SDK integration (covered by documentation search)

Installation

Use the CLI to automatically configure your AI client:

npx @orderly.network/mcp-server init --client <client>

Available clients:

Client

Command

Config Location

Claude Code

--client claude

.mcp.json

Cursor

--client cursor

.cursor/mcp.json

VS Code

--client vscode

.vscode/mcp.json

Codex

--client codex

~/.codex/config.toml

OpenCode

--client opencode

.opencode/mcp.json

Manual Setup

If you prefer to configure manually or the automatic setup doesn't work for your client:

Prerequisites

  • Node.js 18 or higher

  • Yarn (or npm)

Setup from Source

  1. Clone or create the project:

cd orderly-mcp
  1. Install dependencies:

yarn install
  1. Build the project:

yarn build

Hosted Server

A publicly hosted instance is available at https://mcp.orderly.network.

Health check:

curl https://mcp.orderly.network/health

Use in MCP client config (Streamable HTTP):

{
  "mcpServers": {
    "orderly": {
      "url": "https://mcp.orderly.network/"
    }
  }
}

Running the Server

The MCP server supports two modes:

1. Stdio Mode (Default - for local MCP clients)

Use this for local AI assistants:

yarn start

Manual Configuration

If not using the automatic installer, add this configuration to your AI client:

Claude Code (.mcp.json):

{
  "mcpServers": {
    "orderly": {
      "command": "npx",
      "args": ["@orderly.network/mcp-server@latest"]
    }
  }
}

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "orderly": {
      "command": "npx",
      "args": ["@orderly.network/mcp-server@latest"]
    }
  }
}

VS Code (.vscode/mcp.json):

{
  "servers": {
    "orderly": {
      "command": "npx",
      "args": ["@orderly.network/mcp-server@latest"]
    }
  }
}

OpenCode (.opencode/mcp.json):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "orderly": {
      "type": "local",
      "command": ["npx", "@orderly.network/mcp-server@latest"],
      "enabled": true
    }
  }
}

Codex (~/.codex/config.toml):

[mcp_servers.orderly]
command = "npx"
args = ["@orderly.network/mcp-server@latest"]

2. HTTP Mode (for self-hosted deployments)

Run as an HTTP server for remote access:

yarn start:http

The server will start on port 3000 (or PORT env var):

  • MCP endpoint: http://localhost:3000/

  • Health check: http://localhost:3000/health

Note: A public instance is already deployed at https://mcp.orderly.network - see Hosted Server above.

Docker Deployment:

# Build the image
docker build -t orderly-mcp .

# Run the container
docker run -p 3000:3000 orderly-mcp

The Docker image runs in stateless HTTP mode by default.

Development

For development with auto-rebuild:

yarn dev

Code Quality

This project uses ESLint and Prettier for code quality:

# Run linting
yarn lint

# Fix linting issues
yarn lint:fix

# Format code
yarn format

# Check formatting
yarn format:check

# Type check
yarn typecheck

Available Tools

1. search_orderly_docs

Search Orderly documentation for specific topics, concepts, or questions.

Parameters:

  • query (string, required): Search query about Orderly

  • limit (number, optional): Maximum results (default: 5)

Example queries:

  • "how does the vault work"

  • "trading fees"

  • "order types"

  • "leverage calculation"

SDK symbols (hooks, types, components, functions) are now surfaced inline by search_orderly_docs — see SDK symbol search below.

2. get_contract_addresses

Get smart contract addresses for Orderly on specific chains.

Parameters:

  • chain (string, required): Chain name (e.g., 'arbitrum', 'optimism', 'base')

  • contractType (string, optional): Contract type or 'all' (default: 'all')

  • network (string, optional): 'mainnet' or 'testnet' (default: 'mainnet')

Supported chains:

  • EVM: ethereum, arbitrum, optimism, base, mantle, solana

  • Orderly L2: orderlyL2

3. explain_workflow

Get step-by-step explanation of common development workflows.

Parameters:

  • workflow (string, required): Workflow name

Available workflows:

  • wallet connection: Connect wallet and create an Orderly key

  • place first order / limit order: Create, track, edit, and cancel an order

  • deposit: Approve and deposit through the Vault contract

  • withdraw: Sign the EIP-712 withdrawal and submit it

  • set tp sl: Create bracket take-profit/stop-loss orders

4. get_api_info

Get information about Orderly REST API or WebSocket streams.

Parameters:

  • type (string, required): 'rest', 'websocket', or 'auth'

  • endpoint (string, optional): Specific endpoint or stream name

5. get_indexer_api_info

Get information about Orderly Indexer API for trading metrics, account events, trades, and volume statistics (rankings endpoints available via endpoint search).

Parameters:

  • endpoint (string, optional): Specific endpoint path or name (e.g., '/events_v2', 'daily_volume', 'ranking/positions')

  • category (string, optional): Filter by category (e.g., 'trading_metrics', 'events::events_api', 'trades::trades_api')

Available categories:

  • Trading Metrics: Daily volume, fees, perp trading data (/daily_volume, /daily_trading_fee, /daily_orderly_perp)

  • Events: Account events with pagination (/events_v2) - trades, settlements, liquidations, transactions

  • Volume Statistics: Account and broker volume stats (/get_account_volume_statistic, /get_broker_volume_statistic)

  • Trades: Trade data with filters (/trades)

Rankings (no category; search by endpoint):

  • Positions, PnL, trading volume, deposits/withdrawals (/ranking/positions, /ranking/realized_pnl, /ranking/trading_volume, /ranking/deposit, /ranking/withdraw)

Example:

# Get all indexer API endpoints
get_indexer_api_info

# Get specific endpoint details
get_indexer_api_info endpoint="/events_v2"

# Get all endpoints in a category
get_indexer_api_info category="trading_metrics"

6. get_component_guide

Get guidance on building React UI components using Orderly SDK.

Parameters:

  • component (string, required): Component type

  • complexity (string, optional): 'minimal', 'standard', or 'advanced' (default: 'standard')

Available guides: TradingPage, OrderBook, OrderEntryWidget, OrderEntry, PositionsWidget, WalletConnectorWidget.

Other components return a pointer to search_orderly_docs (scope sdk).

7. get_orderly_one_api_info

Get information about Orderly One API for DEX creation, graduation, and management.

Parameters:

  • endpoint (string, optional): Specific endpoint path or name (e.g., '/dex', 'verify-tx', '/theme/modify')

  • category (string, optional): Filter by category (e.g., 'auth', 'dex', 'graduation', 'theme', 'stats', 'leaderboard', 'admin')

Available categories:

  • auth: Wallet signature-based authentication (nonce, verify, validate)

  • dex: DEX management - create, update, delete, deploy, and manage exchanges

  • graduation: Graduation system - upgrade from demo to full broker with fee splits

  • theme: AI-powered theme generation and CSS customization

  • stats: Platform-wide statistics and analytics

  • leaderboard: DEX rankings, performance metrics, and leaderboards

  • admin: Administrative operations for platform management

Example:

# Get overview and authentication flow
get_orderly_one_api_info

# Get all endpoints in a category
get_orderly_one_api_info category="dex"
get_orderly_one_api_info category="graduation"

# Get specific endpoint details
get_orderly_one_api_info endpoint="verify-tx"
get_orderly_one_api_info endpoint="/theme/modify"

Available Resources

Access comprehensive documentation via resource URIs. All resources support fuzzy search with pagination:

Query Parameters:

  • search (required) - Fuzzy search query

  • page (optional) - Page number (default: 1)

  • limit (optional) - Results per page, max 10 (default: 10)

Resources:

  • orderly://overview - High-level protocol architecture (no search required)

  • orderly://sdk/hooks?search=orderEntry - Search SDK hooks by name, description, or category

  • orderly://sdk/components?search=Checkbox - Search components by name or description

  • orderly://contracts?search=arbitrum - Search contracts by chain or name

  • orderly://workflows?search=wallet - Search workflows by name or steps

  • orderly://api/rest?search=position - Search REST API endpoints

  • orderly://api/websocket?search=orderbook - Search WebSocket streams

  • orderly://api/indexer?search=events - Search Indexer API endpoints

Example:

orderly://sdk/hooks?search=useOrderEntry&page=1&limit=5

Example Usage

Searching Documentation

User: "How does Orderly's vault system work?"

AI uses search_orderly_docs with query "vault system"
→ Returns explanation of cross-chain vault architecture

Searching SDK Symbols

User: "Show me how to use useOrderEntry"

AI uses search_orderly_docs with query "useOrderEntry"
→ Returns inline SDK hook record: signature, params, returns, source path

Looking Up Contracts

User: "What's the USDC address on Arbitrum?"

AI uses get_contract_addresses with chain "arbitrum", contractType "USDC"
→ Returns contract address

Explaining Workflows

User: "How do I place my first order?"

AI uses explain_workflow with workflow "place first order"
→ Returns step-by-step guide

Component Building Guide

User: "How do I build an order entry component?"

AI uses get_component_guide with component "order-entry"
→ Returns complete implementation guide

Data Sources

This MCP server includes embedded data from:

  1. Orderly Documentation: Architecture, concepts, and guides

  2. SDK Patterns: v2 hook examples and patterns from @orderly.network/hooks

  3. DEX Examples: Complete working components from the example-dex repository

  4. Contract Addresses: All deployed contracts across supported chains

  5. API Specifications: REST and WebSocket endpoints

  6. Indexer API: Trading metrics, account events, trades, and volume statistics

  7. Orderly One API: DEX creation, graduation, and management API documentation

  8. Workflow Guides: Common development task explanations

  9. Orderly Predict: Round lifecycle, order rules, settlement, fee schedule, and SDK integration

Project Structure

orderly-mcp/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index.ts                 # Main server entry (stdio mode)
│   ā”œā”€ā”€ http-server.ts           # HTTP server entry (stateless mode)
│   ā”œā”€ā”€ server.ts                # Shared MCP server logic
│   ā”œā”€ā”€ tools/
│   │   ā”œā”€ā”€ searchDocs.ts        # Unified doc + SDK symbol search
│   │   ā”œā”€ā”€ contracts.ts         # Contract address lookup
│   │   ā”œā”€ā”€ workflows.ts         # Workflow explanations
│   │   ā”œā”€ā”€ apiInfo.ts           # API documentation
│   │   ā”œā”€ā”€ indexerApi.ts        # Indexer API documentation
│   │   ā”œā”€ā”€ componentGuides.ts   # Component building guides
│   │   ā”œā”€ā”€ orderlyOneApi.ts     # Orderly One API documentation
│   │   ā”œā”€ā”€ svApi.ts             # Strategy Vault API documentation
│   │   └── publicInfoApi.ts     # Public Info API documentation
│   ā”œā”€ā”€ resources/
│   │   └── index.ts             # Resource handlers
│   └── data/
│       ā”œā”€ā”€ documentation.json   # Searchable documentation chunks
│       ā”œā”€ā”€ sdk-symbols.json     # Type-accurate SDK symbols (hooks/types/components/functions)
│       ā”œā”€ā”€ contracts.json       # Contract addresses
│       ā”œā”€ā”€ workflows.json       # Workflow explanations
│       ā”œā”€ā”€ api.json             # API specifications
│       ā”œā”€ā”€ indexer-api.json     # Indexer API documentation
│       ā”œā”€ā”€ orderly-one-api.json # Orderly One API documentation
│       ā”œā”€ā”€ sv-api.json          # Strategy Vault API documentation
│       ā”œā”€ā”€ public-info-api.json # Public Info API documentation
│       ā”œā”€ā”€ component-guides.json # Component guides
│       └── resources/
│           └── overview.md      # Protocol overview
ā”œā”€ā”€ .vscode/                     # VS Code settings
│   ā”œā”€ā”€ settings.json
│   └── extensions.json
ā”œā”€ā”€ package.json
ā”œā”€ā”€ tsconfig.json
ā”œā”€ā”€ eslint.config.mjs            # ESLint configuration
ā”œā”€ā”€ .prettierrc                  # Prettier configuration
ā”œā”€ā”€ .gitignore
ā”œā”€ā”€ .dockerignore                # Docker ignore rules
ā”œā”€ā”€ Dockerfile                   # Docker build configuration
└── README.md

Updating Data

All data files in src/data/ are auto-generated via scripts in the scripts/ folder. Do not edit JSON files manually - they will be overwritten when regeneration scripts run.

Quick Free Refresh

Refresh all OpenAPI-sourced data (no AI calls, no API keys, internet only):

yarn update:free

This runs: generate_api_from_openapi, generate_indexer_api, generate_sv_api, generate_contracts, and generate_orderly_one_api, then builds and tests.

Prerequisites

  1. NEAR AI API key in .env file: NEAR_AI_API_KEY=your_key

  2. Get API key at: https://cloud.near.ai/api-keys

Generate everything from scratch:

# 1. (Optional) Process Telegram export — 2 steps with manual review between
node scripts/clean_telegram_export.js    # šŸ†“ free, filter → telegram_chats_filtered/
# ...review + delete unwanted files manually...
node scripts/analyze_telegram_chats.js      # šŸ’° costs money → tg_analysis.json

# 2. Analyze docs → docs_analysis.json                                 šŸ’° costs money
#    (clones OrderlyNetwork/documentation-public automatically)
node scripts/analyze_docs.js

# 3. Get type-accurate SDK symbols from npm                            šŸ†“ free
node scripts/generate_sdk_symbols.js

# 4. Get component-building guides from SDK source                      šŸ†“ free
node scripts/analyze_sdk.js

# 5. Generate documentation and workflows                              šŸ’° costs money
node scripts/generate_mcp_data.js

# 6. Generate API docs from OpenAPI spec                               šŸ†“ free
node scripts/generate_api_from_openapi.js

# 7. Generate Indexer API docs from OpenAPI spec                       šŸ†“ free
node scripts/generate_indexer_api.js

# 8. Generate Orderly One API docs from OpenAPI spec                   šŸ†“ free
node scripts/generate_orderly_one_api.js

# 9. Generate contract addresses                                       šŸ†“ free
node scripts/generate_contracts.js

# 10. Build and test
yarn build && yarn test:run

Update Only Documentation

Refresh from official docs (uses git-cloned repo as source):

# 1. Analyze docs only (clones repo automatically)                     šŸ’° costs money
node scripts/analyze_docs.js

# 2. Generate                                                           šŸ’° costs money
node scripts/generate_mcp_data.js

# 3. Build
yarn build

Data Files

File

Source

Generation Script

documentation.json

Official docs (git: documentation-public)

generate_mcp_data.js

sdk-symbols.json

@orderly.network/sdk-docs npm package

generate_sdk_symbols.js

component-guides.json

Hand-written, checked against @orderly.network/* 3.3.1

—

workflows.json

Official docs (git: documentation-public)

generate_mcp_data.js

api.json

OpenAPI spec

generate_api_from_openapi.js

indexer-api.json

Indexer API OpenAPI spec

generate_indexer_api.js

orderly-one-api.json

Orderly One OpenAPI spec

generate_orderly_one_api.js

sv-api.json

Strategy Vault OpenAPI spec

generate_sv_api.js

public-info-api.json

Public Info API MDX docs

generate_public_info_api.js

contracts.json

Official docs (Git: documentation-public)

generate_contracts.js

Contributing

To add new content, you need to update the source data and regenerate:

  1. New Documentation: Update documentation-public repo (or Telegram exports), then run generation scripts

  2. New SDK Pattern: The SDK is auto-parsed from GitHub - patterns appear automatically when SDK updates

  3. New DEX Examples: Clone the example-dex repo and run the analysis scripts

  4. New Chain: Update source documentation, then regenerate

  5. New Workflow: Add to source docs or Telegram chats, then regenerate

License

MIT

Support

Available Tools

9 tools
explain_workflowCInspect

Get step-by-step explanation of common Orderly development workflows

NameRequiredDescriptionDefault
workflowYesWorkflow topic, name fragment, or natural-language description (e.g., 'wallet connection', 'deposit', 'setting up react sdk', 'placing orders'). Matches are fuzzy — partial words and multi-word queries work.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It indicates the tool returns step-by-step explanations, but does not disclose return format, depth, limitations, or whether it performs any side effects. For a read-only retrieval tool this is lower risk, but the description remains sparse.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. Its brevity is appropriate for a simple one-parameter tool, though it leaves out useful routing context.

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?

The description is minimally complete: it says what the tool returns and the schema documents the input. However, with no annotations and no output schema, it could do more to clarify scope, return format, and how it differs from sibling documentation tools.

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 the schema already fully documents the single workflow parameter, including fuzzy matching and example inputs. The description adds no additional parameter meaning beyond what the schema provides, which meets the baseline 3 for high schema coverage.

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

Purpose4/5

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

The description states a specific verb and resource: 'Get step-by-step explanation of common Orderly development workflows.' It clearly conveys the tool returns explanatory workflow guidance, but it does not explicitly differentiate itself from siblings such as search_orderly_docs or get_component_guide.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus search_orderly_docs, get_component_guide, or the various API info tools. The description implies it is for workflow explanations, but an agent must infer the selection criteria.

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

get_api_infoCInspect

Get information about Orderly REST API endpoints or WebSocket streams

NameRequiredDescriptionDefault
typeYesAPI type ('rest', 'websocket', or 'auth')
endpointNoSpecific endpoint or stream name (e.g., '/v1/order', 'orderbook', 'position')

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it does not say that this is a pure read, what the response looks like (no output schema exists), how unknown endpoints are handled, or what happens when `endpoint` is omitted. Only the implicit 'Get' signals non-destructiveness.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is efficient, though the brevity is partly under-specification rather than pure economy.

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?

The tool is simple, but against a crowded sibling namespace of similarly named API-info tools and with no output schema, the description should clarify scope and return shape. Neither the optional-endpoint behavior nor the 'auth' mode is addressed.

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%, so both parameters are already documented, including the 'auth' type value. The description adds no syntax, defaults, or meaning beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: retrieving information about Orderly REST API endpoints or WebSocket streams. However, it does not distinguish itself from the four sibling API-info tools (get_indexer_api_info, get_orderly_one_api_info, get_public_info_api_info, get_strategy_vault_api_info), so an agent cannot tell from the description alone which API-info tool to pick.

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

Usage Guidelines2/5

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

No guidance on when to use this versus the sibling *api_info tools, and no explanation of when to supply `endpoint` versus omitting it. The word 'or' hints at two modes but leaves the selection entirely to inference.

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

get_component_guideCInspect

Get guidance on building React UI components using Orderly SDK

NameRequiredDescriptionDefault
componentYesComponent type (e.g., 'order-entry', 'orderbook', 'positions', 'wallet-connector')
complexityNoGuide complexity ('minimal', 'standard', 'advanced')standard

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a read-only lookup but says nothing about what the guide actually contains (code samples, imports, SDK versions), whether results are static or versioned, or how large the output is. For a guidance-generation tool with zero annotation coverage this leaves significant behavior undisclosed.

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

Conciseness4/5

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

A single efficient sentence with the key concept (React components via Orderly SDK) front-loaded. Nothing is padded, though it is arguably too terse given the missing behavioral detail.

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?

With no annotations and no output schema, the description must explain the nature of the returned guidance and it only partially does. Parameter documentation is solid, but an agent cannot predict what it will receive back or how the 'complexity' setting alters the result.

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 both parameters are documented with examples and a default, so the schema does the work. The description adds no additional meaning about the component identifier or what complexity levels change in the returned guide, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: 'Get guidance on building React UI components using Orderly SDK'. This is clearly distinguishable from siblings like get_api_info or get_contract_addresses. It does not explicitly contrast with search_orderly_docs, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus search_orderly_docs or explain_workflow, both of which could plausibly surface similar guidance. No prerequisites, no exclusions, no stated conditions that select this tool.

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

get_contract_addressesBInspect

Get smart contract addresses for Orderly on specific chains

NameRequiredDescriptionDefault
chainYesChain name (e.g., 'arbitrum', 'optimism', 'base', 'ethereum', 'solana')
networkNoNetwork type ('mainnet' or 'testnet')mainnet
contractTypeNoContract type (e.g., 'vault', 'usdc', 'usdt') or 'all' for all contractsall

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a read operation, but the description does not disclose side effects, authentication needs, rate limits, or return format details.

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 front-loaded sentence with no wasted words. The key operation and scope are immediately clear.

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 lookup tool with three fully documented parameters and no output schema, the description covers the core purpose and return subject ('smart contract addresses'). It could say more about the return structure or contract type filtering, but the schema handles parameter details.

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%, so the schema already fully documents the chain, network, and contractType parameters. The description adds only the phrase 'specific chains,' which aligns with the chain parameter but does not add meaning beyond the schema.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Get smart contract addresses for Orderly on specific chains.' It clearly identifies the operation and scope, though it does not explicitly differentiate from sibling tools such as documentation or API info tools.

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

Usage Guidelines2/5

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

The description implies the tool is used when contract addresses are needed for a specific chain, but it does not state when to use it versus alternatives or when not to use it. There are no explicit usage conditions or exclusions.

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

get_indexer_api_infoBInspect

Get information about Orderly Indexer API for trading metrics, account events, trades, and volume statistics (rankings endpoints available via endpoint search)

NameRequiredDescriptionDefault
categoryNoFilter by category (e.g., 'trading_metrics', 'events::events_api', 'trades::trades_api', 'trading_metrics::volume_statistic') - use instead of endpoint to see all endpoints in a category
endpointNoSpecific endpoint path or name (e.g., '/events_v2', 'daily_volume', 'ranking/positions')

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. 'Get information' reasonably implies a read-only, low-risk metadata lookup, but the description does not confirm retrieval semantics, describe the shape of what is returned, or note any preconditions. For a low-risk info tool this is adequate but thin.

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

Conciseness4/5

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

One front-loaded sentence that names the resource and its content areas with no filler. The trailing parenthetical is slightly awkward but earns its place by pointing at the endpoint parameter.

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?

For a two-optional-parameter metadata tool this covers the core purpose and schema is fully documented. However, with no output schema, the description does not say what 'information' looks like (endpoint listing vs schema docs), leaving the agent to infer the return shape.

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% and both parameters are well documented in the schema, so baseline is 3. The description reinforces that 'endpoint search' is a valid path and that rankings are accessible this way, but adds no syntax or filterable-field detail beyond what the schema already provides.

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

Purpose4/5

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

States a clear verb+resource: retrieves information about the Orderly Indexer API. It names the specific API surface (trading metrics, account events, trades, volume statistics), which distinguishes it from sibling API-info tools like get_orderly_one_api_info or get_public_info_api_info. It does not explicitly contrast with those siblings, keeping it just short of a 5.

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 parenthetical hint that rankings endpoints are reachable 'via endpoint search' implies how to broaden queries, but there is no explicit guidance on when to pick this tool over get_api_info or search_orderly_docs. Usage is implied rather than stated.

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

get_orderly_one_api_infoBInspect

Get information about Orderly One API for DEX creation, graduation, and management

NameRequiredDescriptionDefault
categoryNoFilter by category (e.g., 'auth', 'dex', 'graduation', 'theme', 'stats', 'leaderboard', 'admin')
endpointNoSpecific endpoint path or name (e.g., '/dex', 'verify-tx', '/theme/modify')

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only information lookup but does not disclose return format, source freshness, authentication needs, or how the optional category/endpoint filters affect the result, leaving key behavioral traits undocumented.

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

Conciseness4/5

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

The definition is a single front-loaded sentence with no wasted words. It is appropriately concise, though its terseness leaves no structure for explaining the optional filtering behavior.

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?

With no annotations and no output schema, the description should do more to explain what kind of API information is returned and how the filters shape it. The input schema covers parameter descriptions, but the overall behavior and return expectations remain largely unstated.

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%, so the two optional parameters are already documented in the input schema. The description adds no parameter-level meaning beyond that, which makes the baseline score of 3 appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: 'Get information about Orderly One API'. It also scopes the domain to 'DEX creation, graduation, and management', which helps distinguish it from generic siblings like get_api_info, though it does not explicitly compare itself to those alternatives.

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 phrase 'for DEX creation, graduation, and management' gives clear usage context, telling the agent when this API-info tool is relevant. It does not name alternatives or exclusion cases among the many sibling info/guide tools, so it falls short of a 5.

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

get_public_info_api_infoAInspect

Get information about the Orderly Public Info API — a zero-auth single endpoint (POST /v1/public/query) for market, account, and platform data via a type field. Covers 24 query types (marketSummary, accountState, orderbook, candles, topAddresses, etc.)

NameRequiredDescriptionDefault
categoryNoBrowse a category instead: "market", "account", "platform", or "system". Use instead of queryType to list all types in a category.
queryTypeNoQuery type name (e.g., "marketSummary", "accountState", "orderbook", "candles", "topAddresses", "whaleContext"). Returns full details: params, response fields, example, weight, freshness.

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses that the endpoint requires zero auth, is a single POST route, is dispatched by a type field, and that a lookup returns params, response fields, example, weight, and freshness. It omits rate limits and whether calling with no arguments returns an index of all 24 types.

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 sentences, both front-loaded with the identifying facts (API name, endpoint, auth model) before the enumeration of coverage. No filler.

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

Completeness4/5

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

For a two-optional-parameter lookup tool with no annotations and no output schema, the description covers what the tool is, how it is invoked, and what a query returns. The remaining gap is what happens when no parameters are supplied.

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 both optional parameters are already documented, including the category/queryType mutual exclusion. The description adds the overall count (24 types) and sample type values, but nothing about format or what an empty call yields beyond the schema.

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

Purpose5/5

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

Names a specific verb and resource ('Get information about the Orderly Public Info API') and pins down the concrete surface: a zero-auth single endpoint, POST /v1/public/query, driven by a `type` field with 24 query types. The explicit API name also separates it from siblings like get_indexer_api_info and get_orderly_one_api_info.

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

Usage Guidelines3/5

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

The description implies this is the lookup for public market/account/platform data and lists example query types, but it never states when to pick it over the sibling API-info tools or when not to use it. The category-vs-queryType choice is handled in the schema rather than the description.

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

get_strategy_vault_api_infoCInspect

Get information about Orderly Strategy Vault API for yield optimization, strategy providers, and liquidity providers

NameRequiredDescriptionDefault
categoryNoFilter by category (e.g., 'strategy_vault_info', 'strategy_provider', 'fund_management', 'liquidity_provider', 'user') - use instead of endpoint to see all endpoints in a category
endpointNoSpecific endpoint path or name (e.g., '/v1/public/strategy_vault/vault/info', 'sp/info')

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only information lookup but does not state whether authentication is required, whether it returns endpoint documentation or metadata, or what happens when no category/endpoint is supplied.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. It is appropriately sized for a simple lookup tool, though it omits useful context that could be added without bloat.

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?

For a low-complexity, two-optional-parameter read tool with no output schema, the description covers the domain but leaves gaps around when to choose it over sibling tools and what the response represents. It is minimally adequate but not complete enough to fully guide selection.

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%, with both parameters fully documented in the input schema. The description adds no parameter-specific meaning beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb and resource ('Get information about Orderly Strategy Vault API') and adds the domain scope ('yield optimization, strategy providers, and liquidity providers'). It distinguishes itself from generic siblings like get_api_info by naming the Strategy Vault, though it does not explicitly contrast with get_api_info or other domain-specific info tools.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as get_api_info, get_indexer_api_info, or search_orderly_docs. The domain hint implies usage, but no explicit conditions or exclusions are provided.

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

search_orderly_docsCInspect

Search Orderly Network documentation for specific topics, concepts, or questions

NameRequiredDescriptionDefault
limitNoMaximum number of results to return (default: 5)
queryYesSearch query about Orderly Network (e.g., 'how does the vault work', 'trading fees', 'order types')
scopeNoWhich corpus to search: 'sdk' for type-accurate SDK symbols (hooks/components/types/functions), 'docs' for protocol documentation, or 'auto' (default) which detects intent from the query (camelCase/use* names → SDK, plain language → docs)auto
detailNo'summary' (default) truncates long documentation sections to keep responses compact; 'full' returns complete section textsummary

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It doesn't disclose what a result looks like (snippets, URLs, ranked sections), how ranking works, or any rate/size constraints; the only hint of behavior is the description of 'limit' and 'detail' inside the schema.

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

Conciseness4/5

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

A single front-loaded sentence with no filler, and the purpose is stated immediately. It is efficient, though the brevity contributes to the missing usage and output context rather than being a virtue in itself.

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?

For a search tool with four parameters, no annotations, and no output schema, the description should say what comes back and when to prefer it over siblings. Neither is covered, leaving the agent to guess at result shape and alternative routing.

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%, so the schema already explains query, limit, scope, and detail with examples and enum semantics. The description adds no parameter meaning beyond that, which is acceptable at baseline 3 but no better.

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

Purpose4/5

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

States a specific verb and resource ('Search Orderly Network documentation'), which is unambiguous on its own. However, it does not differentiate itself from siblings like get_api_info, get_component_guide, or explain_workflow, which plausibly overlap with documentation lookup.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not guidance, and no routing to or away from the eight sibling tools that serve adjacent information needs. The schema's scope description implies some selection logic (auto/docs/sdk), but the description itself offers none.

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.

  1. 9 tool updates
    • First observedexplain_workflow
    • First observedget_api_info
    • First observedget_component_guide
    • First observedget_contract_addresses
    • First observedget_indexer_api_info
    • First observedget_orderly_one_api_info
    • First observedget_public_info_api_info
    • First observedget_strategy_vault_api_info
    • First observedsearch_orderly_docs

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation4/5

Most tools target clearly distinct areas: contract addresses, workflows, React components, and several named APIs. However, search_orderly_docs overlaps with the specialized informational tools, and the multiple get_*_api_info tools can be hard to distinguish without knowing which API hosts the needed endpoint.

Naming Consistency5/5

All tool names use consistent snake_case and follow a predictable verb_noun pattern (get_*, search_*, explain_*). The repeated get_*_api_info suffix is stable and readable rather than chaotic.

Tool Count5/5

Nine tools is well scoped for a documentation and guidance server covering multiple Orderly APIs and workflows. Each tool appears to earn its place without excessive fragmentation.

Completeness4/5

The surface covers contract addresses, docs search, workflows, REST/WebSocket info, Indexer, Public Info, Orderly One, Strategy Vault, and React component guidance. Minor gaps remain, such as a general SDK/hooks reference or troubleshooting tool, but core developer needs are addressed.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server connecting AI assistants to OKX exchange, enabling trading, market data, account management, and more via 150+ tools across 11 modules.
    494
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server for the Hyperliquid decentralized exchange, enabling AI assistants to perform trading operations, manage accounts, and retrieve market data.
    32 PyPI
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for the Nado Protocol on the Ink blockchain, enabling AI assistants to query market data, manage positions, place orders, and access historical trading data.
    17 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives AI agents real-time access to DeFi across multiple chains, enabling non-custodial crypto trading, portfolio queries, and transaction execution.
    3 npm
    7
    MIT