Orderly Network MCP Server
OfficialServidor MCP de Orderly Network
Un servidor del Protocolo de Contexto de Modelo (MCP) que proporciona documentación y patrones de SDK para Orderly Network, una infraestructura de trading de futuros perpetuos omnichain.
Inicio rápido
Instala el servidor MCP con un comando para tu cliente de IA:
npx @orderly.network/mcp-server init --client <client>Clientes compatibles: claude, cursor, vscode, codex, opencode
Ejemplos
# 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 initEste comando:
Creará el archivo de configuración apropiado para tu cliente de IA
Instalará
@orderly.network/mcp-servercomo una dependencia de desarrolloTe guiará a través de los siguientes pasos
Después de la instalación: Reinicia tu cliente de IA e intenta preguntar: "¿Cómo me conecto a Orderly Network?"
Related MCP server: hyperliquid-mcp
Qué proporciona este servidor
Este servidor MCP permite a los asistentes de IA responder preguntas sobre Orderly Network y guiar a los desarrolladores en la creación de componentes de React utilizando el SDK v2 de Orderly.
Características
Búsqueda de documentación: Consulta los documentos de Orderly para arquitectura, APIs y conceptos
Patrones de SDK: Obtén ejemplos de código para todos los hooks de la v2 (useOrderEntry, usePositionStream, etc.)
Direcciones de contratos: Busca direcciones de contratos inteligentes para todas las cadenas compatibles
Guías de flujo de trabajo: Explicaciones paso a paso de tareas comunes de desarrollo
Guías de componentes: Patrones para crear componentes de interfaz de trading
Referencia de API: Documentación de endpoints REST y WebSocket
API de Indexador: Métricas de trading, eventos de cuenta, estadísticas de volumen y clasificaciones
Instalación
Instalación rápida (Recomendado)
Usa la CLI para configurar automáticamente tu cliente de IA:
npx @orderly.network/mcp-server init --client <client>Clientes disponibles:
Cliente | Comando | Ubicación de configuración |
Claude Code |
|
|
Cursor |
|
|
VS Code |
|
|
Codex |
|
|
OpenCode |
|
|
Configuración manual
Si prefieres configurar manualmente o la configuración automática no funciona para tu cliente:
Requisitos previos
Node.js 18 o superior
Yarn (o npm)
Configuración desde el código fuente
Clona o crea el proyecto:
cd orderly-mcpInstala las dependencias:
yarn installCompila el proyecto:
yarn buildEjecución del servidor
El servidor MCP admite dos modos:
1. Modo Stdio (Predeterminado - para clientes MCP locales)
Úsalo para asistentes de IA locales:
yarn startConfiguración manual
Si no usas el instalador automático, añade esta configuración a tu cliente de IA:
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. Modo HTTP (para despliegues alojados)
Ejecuta como un servidor HTTP para acceso remoto:
yarn start:httpEl servidor se iniciará en el puerto 3000 (o la variable de entorno PORT):
Endpoint MCP:
http://localhost:3000/Verificación de estado:
http://localhost:3000/health
Despliegue en Docker:
# Build the image
docker build -t orderly-mcp .
# Run the container
docker run -p 3000:3000 orderly-mcpLa imagen de Docker se ejecuta en modo HTTP sin estado por defecto.
Desarrollo
Para desarrollo con reconstrucción automática:
yarn devCalidad del código
Este proyecto utiliza ESLint y Prettier para la calidad del código:
# Run linting
yarn lint
# Fix linting issues
yarn lint:fix
# Format code
yarn format
# Check formatting
yarn format:check
# Type check
yarn typecheckHerramientas disponibles
1. search_orderly_docs
Busca en la documentación de Orderly temas, conceptos o preguntas específicas.
Parámetros:
query(string, obligatorio): Consulta de búsqueda sobre Orderlylimit(number, opcional): Resultados máximos (predeterminado: 5)
Ejemplos de consultas:
"how does the vault work"
"trading fees"
"order types"
"leverage calculation"
2. get_sdk_pattern
Obtén ejemplos de código y patrones para los hooks del SDK v2 de Orderly y componentes DEX completos.
Parámetros:
pattern(string, obligatorio): Nombre del hook o patrón (ej., 'useOrderEntry', 'wallet-connection', 'LightweightChart')includeExample(boolean, opcional): Incluir ejemplo de código completo (predeterminado: true)
Patrones disponibles:
Cuenta:
useAccount,useWalletConnectorÓrdenes:
useOrderEntry,useOrderStreamPosiciones:
usePositionStream,useCollateralDatos de mercado:
useOrderbookStream,useMarkPrice,useTickerStreamCadenas:
useChainsActivos:
useDepositGráficos:
LightweightChart,TradingViewWidgetSetup,Real-timeKlineDataviaWebSocketComponentes de trading:
CreateOrder,Orderbook,SymbolHeader,SymbolSelectionComponentes de posición:
Positions,UpdatePosition,ClosePositionComponentes de billetera:
ConnectWalletButton,WalletConnection,EvmDropdownMenuServicios WebSocket:
websocket.service(datos kline en tiempo real)
3. get_contract_addresses
Obtén direcciones de contratos inteligentes para Orderly en cadenas específicas.
Parámetros:
chain(string, obligatorio): Nombre de la cadena (ej., 'arbitrum', 'optimism', 'base')contractType(string, opcional): Tipo de contrato o 'all' (predeterminado: 'all')network(string, opcional): 'mainnet' o 'testnet' (predeterminado: 'mainnet')
Cadenas compatibles:
EVM: ethereum, arbitrum, optimism, base, mantle, solana
Orderly L2: orderlyL2
4. explain_workflow
Obtén una explicación paso a paso de los flujos de trabajo de desarrollo comunes.
Parámetros:
workflow(string, obligatorio): Nombre del flujo de trabajo
Flujos de trabajo disponibles:
wallet-connection: Conectar billetera y crear clave de Orderlyplace-first-order: Flujo completo para realizar la primera operacióndeposit-funds: Depositar USDC/tokens en Orderlyset-tp-sl: Establecer Take Profit y Stop Losssubaccount-management: Crear y gestionar subcuentas
5. get_api_info
Obtén información sobre la API REST de Orderly o los streams de WebSocket.
Parámetros:
type(string, obligatorio): 'rest', 'websocket', o 'auth'endpoint(string, opcional): Endpoint específico o nombre del stream
6. get_indexer_api_info
Obtén información sobre la API del Indexador de Orderly para métricas de trading, eventos de cuenta, estadísticas de volumen y clasificaciones.
Parámetros:
endpoint(string, opcional): Ruta o nombre del endpoint específico (ej., '/events_v2', 'daily_volume', 'ranking/positions')category(string, opcional): Filtrar por categoría (ej., 'trading_metrics', 'events', 'ranking')
Categorías disponibles:
Métricas de trading: Volumen diario, comisiones, datos de trading perp (
/daily_volume,/daily_trading_fee,/daily_orderly_perp)Eventos: Eventos de cuenta con paginación (
/events_v2) - operaciones, liquidaciones, transaccionesEstadísticas de volumen: Estadísticas de volumen de cuenta y broker (
/get_account_volume_statistic,/get_broker_volume_statistic)Clasificaciones: Posiciones, PnL, volumen de trading, depósitos/retiros (
/ranking/positions,/ranking/realized_pnl,/ranking/trading_volume,/ranking/deposit,/ranking/withdraw)
Ejemplo:
# 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"7. get_component_guide
Obtén orientación sobre la creación de componentes de interfaz de usuario de React utilizando el SDK de Orderly.
Parámetros:
component(string, obligatorio): Tipo de componentecomplexity(string, opcional): 'minimal', 'standard', o 'advanced' (predeterminado: 'standard')
Componentes disponibles:
order-entry: Formulario de colocación de órdenesorderbook: Visualización de profundidad de mercadopositions: Tabla de gestión de posicioneswallet-connector: Interfaz de conexión de billetera
8. get_orderly_one_api_info
Obtén información sobre la API de Orderly One para la creación, graduación y gestión de DEX.
Parámetros:
endpoint(string, opcional): Ruta o nombre del endpoint específico (ej., '/dex', 'verify-tx', '/theme/modify')category(string, opcional): Filtrar por categoría (ej., 'auth', 'dex', 'graduation', 'theme', 'stats', 'leaderboard', 'admin')
Categorías disponibles:
auth: Autenticación basada en firma de billetera (nonce, verify, validate)
dex: Gestión de DEX - crear, actualizar, eliminar, desplegar y gestionar exchanges
graduation: Sistema de graduación - actualizar de demo a broker completo con división de comisiones
theme: Generación de temas impulsada por IA y personalización CSS
stats: Estadísticas y análisis de toda la plataforma
leaderboard: Clasificaciones de DEX, métricas de rendimiento y tablas de clasificación
admin: Operaciones administrativas para la gestión de la plataforma
Ejemplo:
# 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"Recursos disponibles
Accede a documentación completa a través de URIs de recursos. Todos los recursos admiten búsqueda difusa con paginación:
Parámetros de consulta:
search(obligatorio) - Consulta de búsqueda difusapage(opcional) - Número de página (predeterminado: 1)limit(opcional) - Resultados por página, máximo 10 (predeterminado: 10)
Recursos:
orderly://overview- Arquitectura del protocolo de alto nivel (no requiere búsqueda)orderly://sdk/hooks?search=orderEntry- Buscar hooks del SDK por nombre, descripción o categoríaorderly://sdk/components?search=Checkbox- Buscar componentes por nombre o descripciónorderly://contracts?search=arbitrum- Buscar contratos por cadena o nombreorderly://workflows?search=wallet- Buscar flujos de trabajo por nombre o pasosorderly://api/rest?search=position- Buscar endpoints de la API RESTorderly://api/websocket?search=orderbook- Buscar streams de WebSocketorderly://api/indexer?search=events- Buscar endpoints de la API del Indexador
Ejemplo:
orderly://sdk/hooks?search=useOrderEntry&page=1&limit=5Ejemplo de uso
Búsqueda en la documentación
User: "How does Orderly's vault system work?"
AI uses search_orderly_docs with query "vault system"
→ Returns explanation of cross-chain vault architectureObtención de un patrón de SDK
User: "Show me how to use useOrderEntry"
AI uses get_sdk_pattern with pattern "useOrderEntry"
→ Returns hook documentation with usage exampleBúsqueda de contratos
User: "What's the USDC address on Arbitrum?"
AI uses get_contract_addresses with chain "arbitrum", contractType "USDC"
→ Returns contract addressExplicación de flujos de trabajo
User: "How do I place my first order?"
AI uses explain_workflow with workflow "place-first-order"
→ Returns step-by-step guideGuía de construcción de componentes
User: "How do I build an order entry component?"
AI uses get_component_guide with component "order-entry"
→ Returns complete implementation guideFuentes de datos
Este servidor MCP incluye datos integrados de:
Documentación de Orderly: Arquitectura, conceptos y guías
Patrones de SDK: Ejemplos de hooks v2 y patrones de @orderly.network/hooks
Ejemplos de DEX: Componentes funcionales completos del repositorio example-dex
Direcciones de contratos: Todos los contratos desplegados en las cadenas compatibles
Especificaciones de API: Endpoints REST y WebSocket
API de Indexador: Métricas de trading, eventos de cuenta, estadísticas de volumen y clasificaciones
API de Orderly One: Documentación de la API de creación, graduación y gestión de DEX
Guías de flujo de trabajo: Explicaciones de tareas comunes de desarrollo
Estructura del proyecto
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.mdActualización de datos
Todos los archivos de datos en src/data/ se generan automáticamente mediante scripts en la carpeta scripts/. No edites los archivos JSON manualmente - se sobrescribirán cuando se ejecuten los scripts de regeneración.
Requisitos previos
Clave de API de NEAR AI en el archivo
.env:NEAR_AI_API_KEY=tu_claveObtén la clave de API en: https://cloud.near.ai/api-keys
Regeneración completa (Recomendado)
Genera todo desde cero:
# 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:runActualizar solo la documentación
Si solo quieres actualizar desde los documentos oficiales sin datos de Telegram:
# 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 buildArchivos de datos
Archivo | Fuente | Script de generación |
documentation.json | Documentos oficiales + chats de Telegram |
|
sdk-patterns.json | Código fuente del SDK (GitHub) |
|
sdk-patterns.json | Repositorio de ejemplo DEX (GitHub) |
|
component-guides.json | Código fuente del SDK (GitHub) |
|
workflows.json | Documentos oficiales + chats de Telegram |
|
api.json | Especificación OpenAPI |
|
indexer-api.json | Especificación OpenAPI de la API del Indexador |
|
** |
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 connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
The OpenZeppelin Solidity Contracts MCP server integrates OpenZeppelin's security and style rules into AI-driven development workflows, enabling AI assistants to generate safe, correct, and production-ready smart contracts. It automatically validates generated code against OpenZeppelin standards (including imports, modifiers, naming conventions, and security checks) and supports various contract types including ERC-20, ERC-721, ERC-1155, Stablecoins, RWA, Governor, and Account contracts through prompt-driven workflows.
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.501MIT- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server for the Hyperliquid decentralized exchange, enabling AI assistants to perform trading operations, manage accounts, and retrieve market data.29 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.18 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