loading…
Search for a command to run...
loading…
The Orderly Network MCP server gives AI assistants direct access to Orderly documentation, SDK patterns, API references, workflows, and contract addresses throu
The Orderly Network MCP server gives AI assistants direct access to Orderly documentation, SDK patterns, API references, workflows, and contract addresses through a single MCP integration. It helps developers build trading UIs and integrations faster by making Orderly-specific guidance and code examples instantly queryable.
A Model Context Protocol (MCP) server providing documentation and SDK patterns for Orderly Network - an omnichain perpetual futures trading infrastructure.
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
# 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:
@orderly.network/mcp-server as a dev dependencyAfter installation: Restart your AI client and try asking: "How do I connect to Orderly Network?"
This MCP server enables AI assistants to answer questions about Orderly Network and guide developers in building React components using the Orderly SDK v2.
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 |
If you prefer to configure manually or the automatic setup doesn't work for your client:
cd orderly-mcp
yarn install
yarn build
The MCP server supports two modes:
Use this for local AI assistants:
yarn start
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"]
Run as an HTTP server for remote access:
yarn start:http
The server will start on port 3000 (or PORT env var):
http://localhost:3000/http://localhost:3000/healthDocker 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.
For development with auto-rebuild:
yarn dev
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
search_orderly_docsSearch Orderly documentation for specific topics, concepts, or questions.
Parameters:
query (string, required): Search query about Orderlylimit (number, optional): Maximum results (default: 5)Example queries:
get_sdk_patternGet code examples and patterns for Orderly SDK v2 hooks and complete DEX components.
Parameters:
pattern (string, required): Hook or pattern name (e.g., 'useOrderEntry', 'wallet-connection', 'LightweightChart')includeExample (boolean, optional): Include full code example (default: true)Available patterns:
useAccount, useWalletConnectoruseOrderEntry, useOrderStreamusePositionStream, useCollateraluseOrderbookStream, useMarkPrice, useTickerStreamuseChainsuseDepositLightweightChart, TradingViewWidgetSetup, Real-timeKlineDataviaWebSocketCreateOrder, Orderbook, SymbolHeader, SymbolSelectionPositions, UpdatePosition, ClosePositionConnectWalletButton, WalletConnection, EvmDropdownMenuwebsocket.service (real-time kline data)get_contract_addressesGet 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:
explain_workflowGet step-by-step explanation of common development workflows.
Parameters:
workflow (string, required): Workflow nameAvailable workflows:
wallet-connection: Connect wallet and create Orderly keyplace-first-order: Complete flow for placing first tradedeposit-funds: Deposit USDC/tokens to Orderlyset-tp-sl: Set Take Profit and Stop Losssubaccount-management: Create and manage subaccountsget_api_infoGet information about Orderly REST API or WebSocket streams.
Parameters:
type (string, required): 'rest', 'websocket', or 'auth'endpoint (string, optional): Specific endpoint or stream nameget_indexer_api_infoGet information about Orderly Indexer API for trading metrics, account events, volume statistics, and rankings.
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', 'ranking')Available categories:
/daily_volume, /daily_trading_fee, /daily_orderly_perp)/events_v2) - trades, settlements, liquidations, transactions/get_account_volume_statistic, /get_broker_volume_statistic)/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"
get_component_guideGet guidance on building React UI components using Orderly SDK.
Parameters:
component (string, required): Component typecomplexity (string, optional): 'minimal', 'standard', or 'advanced' (default: 'standard')Available components:
order-entry: Order placement formorderbook: Market depth displaypositions: Position management tablewallet-connector: Wallet connection UIget_orderly_one_api_infoGet 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:
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"
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 endpointsExample:
orderly://sdk/hooks?search=useOrderEntry&page=1&limit=5
User: "How does Orderly's vault system work?"
AI uses search_orderly_docs with query "vault system"
→ Returns explanation of cross-chain vault architecture
User: "Show me how to use useOrderEntry"
AI uses get_sdk_pattern with pattern "useOrderEntry"
→ Returns hook documentation with usage example
User: "What's the USDC address on Arbitrum?"
AI uses get_contract_addresses with chain "arbitrum", contractType "USDC"
→ Returns contract address
User: "How do I place my first order?"
AI uses explain_workflow with workflow "place-first-order"
→ Returns step-by-step guide
User: "How do I build an order entry component?"
AI uses get_component_guide with component "order-entry"
→ Returns complete implementation guide
This MCP server includes embedded data from:
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 # Documentation search
│ │ ├── sdkPatterns.ts # SDK pattern lookup
│ │ ├── 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
│ ├── resources/
│ │ └── index.ts # Resource handlers
│ └── data/
│ ├── documentation.json # Searchable documentation chunks
│ ├── sdk-patterns.json # SDK patterns and examples
│ ├── 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
│ ├── 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
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.
.env file: NEAR_AI_API_KEY=your_keyGenerate everything from scratch:
# 1. Download latest official docs
curl -o llms-full.txt https://orderly.network/docs/llms-full.txt
# 2. Split Telegram export (if you have one)
node scripts/split_telegram_chats.js
# 3. Analyze Telegram chats → tg_analysis.json
node scripts/analyze_chat_openai.js
# 4. Analyze docs → docs_analysis.json
node scripts/analyze_llms_full.js
# 5. Get SDK patterns from source (FREE - no AI calls)
node scripts/analyze_sdk.js
# 6. Get DEX examples from example-dex repo
# Option A: Basic (FREE - no AI calls)
git clone --depth 1 https://github.com/orderlynetwork/example-dex.git /tmp/example-dex
node scripts/analyze_example_dex.js
node scripts/enrich_sdk_patterns_with_examples.js
# Option B: AI-Enhanced (~$1-3, better documentation)
# git clone --depth 1 https://github.com/orderlynetwork/example-dex.git /tmp/example-dex
# node scripts/analyze_example_dex.js
# USE_AI=true node scripts/enrich_sdk_patterns_with_examples.js
# 7. Generate documentation and workflows
node scripts/generate_mcp_data.js
# 8. Generate API docs from OpenAPI spec
node scripts/generate_api_from_openapi.js
# 9. Generate Indexer API docs from OpenAPI spec
node scripts/generate_indexer_api.js
# 10. Generate Orderly One API docs from OpenAPI spec
node scripts/generate_orderly_one_api.js
# 11. Generate contract addresses
node scripts/generate_contracts.js
# 12. Build and test
yarn build && yarn test:run
If you just want to refresh from official docs without Telegram data:
# 1. Download latest docs
curl -o llms-full.txt https://orderly.network/docs/llms-full.txt
# 2. Analyze docs only
node scripts/analyze_llms_full.js
# 3. Generate (will use existing tg_analysis.json if present)
node scripts/generate_mcp_data.js
# 4. Build
yarn build
| File | Source | Generation Script |
|---|---|---|
| documentation.json | Official docs + Telegram chats | generate_mcp_data.js |
| sdk-patterns.json | SDK source code (GitHub) | analyze_sdk.js |
| sdk-patterns.json | Example DEX repo (GitHub) | analyze_example_dex.js + enrich_sdk_patterns_with_examples.js (add USE_AI=true for AI mode) |
| component-guides.json | SDK source code (GitHub) | analyze_sdk.js |
| workflows.json | Official docs + Telegram chats | 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 |
| contracts.json | Official docs (llms-full.txt) | generate_contracts.js |
To add new content, you need to update the source data and regenerate:
llms-full.txt or Telegram exports, then run generation scriptsMIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"orderly-network-mcp-server": {
"command": "npx",
"args": []
}
}
}