Orderly Network MCP Server
OfficialThis MCP server helps AI assistants answer Orderly Network development questions and retrieve docs, SDK patterns, contracts, workflows, and API details.
Search Orderly documentation and type-accurate SDK symbols (hooks, components, types, functions).
Look up smart contract addresses by chain, network, and contract type.
Get step-by-step guides for common workflows like wallet connection, deposits, withdrawals, and placing orders.
Retrieve REST, WebSocket, and auth API information.
Explore Indexer API data for trading metrics, events, volume stats, trades, and rankings.
Get React component-building guidance for Orderly SDK UIs.
Browse Orderly One API docs for DEX creation, graduation, themes, stats, leaderboards, and admin.
Browse Strategy Vault API docs for yield optimization, strategy providers, fund management, and liquidity providers.
Explore Public Info API query types for market, account, platform, and system data.
Provides access to Orderly Network smart contract addresses for both mainnet and testnet deployments on Ethereum.
Provides smart contract addresses for Orderly Network deployments on the Optimism network.
Provides SDK patterns, hook examples (like useOrderEntry and usePositionStream), and UI component guides specifically for building trading interfaces with React and the Orderly SDK v2.
Provides smart contract addresses for Orderly Network deployments on the Solana blockchain.
Includes patterns and setup guides for integrating TradingView charts and widgets into applications built on the Orderly Network infrastructure.
Provides hooks and UI patterns for managing wallet connections and account authentication within the Orderly Network ecosystem.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
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 initThis command will:
Create the appropriate configuration file for your AI client
Install
@orderly.network/mcp-serveras a dev dependencyGuide 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
Quick Install (Recommended)
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 |
|
|
Cursor |
|
|
VS Code |
|
|
Codex |
|
|
OpenCode |
|
|
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
Clone or create the project:
cd orderly-mcpInstall dependencies:
yarn installBuild the project:
yarn buildHosted Server
A publicly hosted instance is available at https://mcp.orderly.network.
Health check:
curl https://mcp.orderly.network/healthUse 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 startManual 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:httpThe 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-mcpThe Docker image runs in stateless HTTP mode by default.
Development
For development with auto-rebuild:
yarn devCode 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 typecheckAvailable Tools
1. search_orderly_docs
Search Orderly documentation for specific topics, concepts, or questions.
Parameters:
query(string, required): Search query about Orderlylimit(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 keyplace first order/limit order: Create, track, edit, and cancel an orderdeposit: Approve and deposit through the Vault contractwithdraw: Sign the EIP-712 withdrawal and submit itset 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, transactionsVolume 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 typecomplexity(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 querypage(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 categoryorderly://sdk/components?search=Checkbox- Search components by name or descriptionorderly://contracts?search=arbitrum- Search contracts by chain or nameorderly://workflows?search=wallet- Search workflows by name or stepsorderly://api/rest?search=position- Search REST API endpointsorderly://api/websocket?search=orderbook- Search WebSocket streamsorderly://api/indexer?search=events- Search Indexer API endpoints
Example:
orderly://sdk/hooks?search=useOrderEntry&page=1&limit=5Example 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 architectureSearching 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 pathLooking Up Contracts
User: "What's the USDC address on Arbitrum?"
AI uses get_contract_addresses with chain "arbitrum", contractType "USDC"
ā Returns contract addressExplaining Workflows
User: "How do I place my first order?"
AI uses explain_workflow with workflow "place first order"
ā Returns step-by-step guideComponent Building Guide
User: "How do I build an order entry component?"
AI uses get_component_guide with component "order-entry"
ā Returns complete implementation guideData Sources
This MCP server includes embedded data from:
Orderly Documentation: Architecture, concepts, and guides
SDK Patterns: v2 hook examples and patterns from @orderly.network/hooks
DEX Examples: Complete working components from the example-dex repository
Contract Addresses: All deployed contracts across supported chains
API Specifications: REST and WebSocket endpoints
Indexer API: Trading metrics, account events, trades, and volume statistics
Orderly One API: DEX creation, graduation, and management API documentation
Workflow Guides: Common development task explanations
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.mdUpdating 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:freeThis runs: generate_api_from_openapi, generate_indexer_api, generate_sv_api, generate_contracts, and generate_orderly_one_api, then builds and tests.
Prerequisites
NEAR AI API key in
.envfile:NEAR_AI_API_KEY=your_keyGet API key at: https://cloud.near.ai/api-keys
Complete Regeneration (Recommended)
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:runUpdate 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 buildData Files
File | Source | Generation Script |
documentation.json | Official docs (git: documentation-public) |
|
sdk-symbols.json |
|
|
component-guides.json | Hand-written, checked against | ā |
workflows.json | Official docs (git: documentation-public) |
|
api.json | OpenAPI spec |
|
indexer-api.json | Indexer API OpenAPI spec |
|
orderly-one-api.json | Orderly One OpenAPI spec |
|
sv-api.json | Strategy Vault OpenAPI spec |
|
public-info-api.json | Public Info API MDX docs |
|
contracts.json | Official docs (Git: documentation-public) |
|
Contributing
To add new content, you need to update the source data and regenerate:
New Documentation: Update
documentation-publicrepo (or Telegram exports), then run generation scriptsNew SDK Pattern: The SDK is auto-parsed from GitHub - patterns appear automatically when SDK updates
New DEX Examples: Clone the example-dex repo and run the analysis scripts
New Chain: Update source documentation, then regenerate
New Workflow: Add to source docs or Telegram chats, then regenerate
License
MIT
Support
Orderly Documentation: https://orderly.network/docs
SDK Repository: https://github.com/OrderlyNetwork/js-sdk
Orderly Discord: https://discord.gg/OrderlyNetwork
Available Tools
9 toolsexplain_workflowCInspect
Get step-by-step explanation of common Orderly development workflows
| Name | Required | Description | Default |
|---|---|---|---|
| workflow | Yes | Workflow 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
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | API type ('rest', 'websocket', or 'auth') | |
| endpoint | No | Specific endpoint or stream name (e.g., '/v1/order', 'orderbook', 'position') |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| component | Yes | Component type (e.g., 'order-entry', 'orderbook', 'positions', 'wallet-connector') | |
| complexity | No | Guide complexity ('minimal', 'standard', 'advanced') | standard |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain name (e.g., 'arbitrum', 'optimism', 'base', 'ethereum', 'solana') | |
| network | No | Network type ('mainnet' or 'testnet') | mainnet |
| contractType | No | Contract type (e.g., 'vault', 'usdc', 'usdt') or 'all' for all contracts | all |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter 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 | |
| endpoint | No | Specific endpoint path or name (e.g., '/events_v2', 'daily_volume', 'ranking/positions') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. '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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter by category (e.g., 'auth', 'dex', 'graduation', 'theme', 'stats', 'leaderboard', 'admin') | |
| endpoint | No | Specific endpoint path or name (e.g., '/dex', 'verify-tx', '/theme/modify') |
TDQS
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.
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.
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.
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.
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.
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.)
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Browse a category instead: "market", "account", "platform", or "system". Use instead of queryType to list all types in a category. | |
| queryType | No | Query type name (e.g., "marketSummary", "accountState", "orderbook", "candles", "topAddresses", "whaleContext"). Returns full details: params, response fields, example, weight, freshness. |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter 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 | |
| endpoint | No | Specific endpoint path or name (e.g., '/v1/public/strategy_vault/vault/info', 'sp/info') |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (default: 5) | |
| query | Yes | Search query about Orderly Network (e.g., 'how does the vault work', 'trading fees', 'order types') | |
| scope | No | Which 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 |
| detail | No | 'summary' (default) truncates long documentation sections to keep responses compact; 'full' returns complete section text | summary |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It 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.
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.
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.
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.
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.
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.
9 tool updates
- First observed
explain_workflow - First observed
get_api_info - First observed
get_component_guide - First observed
get_contract_addresses - First observed
get_indexer_api_info - First observed
get_orderly_one_api_info - First observed
get_public_info_api_info - First observed
get_strategy_vault_api_info - First observed
search_orderly_docs
TDQS
Scored across 9 tools
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.
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.
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.
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
Related MCP Connectors
Trade 16 crypto exchanges + MetaTrader 5 from your AI assistant via one MCP connection.
The OpenRouter MCP server plugs OpenRouter into the AI tools you already use. Once connected, your assistant can pull live OpenRouter data (models, prices, your credits, rankings, and docs) and send quick test messages, all without leaving your editor.
MCP server giving AI agents one-connection access to crypto & DeFi data: DeFi protocol TVL, stableco
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceMCP server connecting AI assistants to OKX exchange, enabling trading, market data, account management, and more via 150+ tools across 11 modules.494MIT- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol (MCP) server for the Hyperliquid decentralized exchange, enabling AI assistants to perform trading operations, manage accounts, and retrieve market data.32 PyPI3MIT
- AlicenseNot gradedqualityDmaintenanceMCP 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 npm1MIT
- AlicenseNot gradedqualityDmaintenanceAn 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 npm7MIT