Skip to main content
Glama
Orderly Network MCP Server

Orderly Network MCP Server

Official

Servidor 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 init

Este comando:

  1. Creará el archivo de configuración apropiado para tu cliente de IA

  2. Instalará @orderly.network/mcp-server como una dependencia de desarrollo

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

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

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

  1. Clona o crea el proyecto:

cd orderly-mcp
  1. Instala las dependencias:

yarn install
  1. Compila el proyecto:

yarn build

Ejecución del servidor

El servidor MCP admite dos modos:

1. Modo Stdio (Predeterminado - para clientes MCP locales)

Úsalo para asistentes de IA locales:

yarn start

Configuració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:http

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

La imagen de Docker se ejecuta en modo HTTP sin estado por defecto.

Desarrollo

Para desarrollo con reconstrucción automática:

yarn dev

Calidad 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 typecheck

Herramientas 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 Orderly

  • limit (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, useOrderStream

  • Posiciones: usePositionStream, useCollateral

  • Datos de mercado: useOrderbookStream, useMarkPrice, useTickerStream

  • Cadenas: useChains

  • Activos: useDeposit

  • Gráficos: LightweightChart, TradingViewWidgetSetup, Real-timeKlineDataviaWebSocket

  • Componentes de trading: CreateOrder, Orderbook, SymbolHeader, SymbolSelection

  • Componentes de posición: Positions, UpdatePosition, ClosePosition

  • Componentes de billetera: ConnectWalletButton, WalletConnection, EvmDropdownMenu

  • Servicios 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 Orderly

  • place-first-order: Flujo completo para realizar la primera operación

  • deposit-funds: Depositar USDC/tokens en Orderly

  • set-tp-sl: Establecer Take Profit y Stop Loss

  • subaccount-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, transacciones

  • Estadí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 componente

  • complexity (string, opcional): 'minimal', 'standard', o 'advanced' (predeterminado: 'standard')

Componentes disponibles:

  • order-entry: Formulario de colocación de órdenes

  • orderbook: Visualización de profundidad de mercado

  • positions: Tabla de gestión de posiciones

  • wallet-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 difusa

  • page (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ía

  • orderly://sdk/components?search=Checkbox - Buscar componentes por nombre o descripción

  • orderly://contracts?search=arbitrum - Buscar contratos por cadena o nombre

  • orderly://workflows?search=wallet - Buscar flujos de trabajo por nombre o pasos

  • orderly://api/rest?search=position - Buscar endpoints de la API REST

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

  • orderly://api/indexer?search=events - Buscar endpoints de la API del Indexador

Ejemplo:

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

Ejemplo 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 architecture

Obtenció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 example

Búsqueda de contratos

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

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

Explicació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 guide

Guí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 guide

Fuentes de datos

Este servidor MCP incluye datos integrados de:

  1. Documentación de Orderly: Arquitectura, conceptos y guías

  2. Patrones de SDK: Ejemplos de hooks v2 y patrones de @orderly.network/hooks

  3. Ejemplos de DEX: Componentes funcionales completos del repositorio example-dex

  4. Direcciones de contratos: Todos los contratos desplegados en las cadenas compatibles

  5. Especificaciones de API: Endpoints REST y WebSocket

  6. API de Indexador: Métricas de trading, eventos de cuenta, estadísticas de volumen y clasificaciones

  7. API de Orderly One: Documentación de la API de creación, graduación y gestión de DEX

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

Actualizació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

  1. Clave de API de NEAR AI en el archivo .env: NEAR_AI_API_KEY=tu_clave

  2. Obté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:run

Actualizar 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 build

Archivos de datos

Archivo

Fuente

Script de generación

documentation.json

Documentos oficiales + chats de Telegram

generate_mcp_data.js

sdk-patterns.json

Código fuente del SDK (GitHub)

analyze_sdk.js

sdk-patterns.json

Repositorio de ejemplo DEX (GitHub)

analyze_example_dex.js + enrich_sdk_patterns_with_examples.js (añade USE_AI=true para modo IA)

component-guides.json

Código fuente del SDK (GitHub)

analyze_sdk.js

workflows.json

Documentos oficiales + chats de Telegram

generate_mcp_data.js

api.json

Especificación OpenAPI

generate_api_from_openapi.js

indexer-api.json

Especificación OpenAPI de la API del Indexador

generate_indexer_api.js

**

Available Tools

9 tools
explain_workflowCInspect

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

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

TDQS

C2.9/5.0
Behavior2/5

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

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

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

Conciseness4/5

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

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

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

Completeness3/5

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

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

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already fully documents the single workflow parameter, including fuzzy matching and example inputs. The description adds no additional parameter meaning beyond what the schema provides, which meets the baseline 3 for high schema coverage.

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

Purpose4/5

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

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

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

Usage Guidelines2/5

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

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

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

get_api_infoCInspect

Get information about Orderly REST API endpoints or WebSocket streams

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

TDQS

C2.9/5.0
Behavior2/5

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

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

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

Conciseness4/5

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

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

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

Completeness2/5

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

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

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented, including the 'auth' type value. The description adds no syntax, defaults, or meaning beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

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

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

Usage Guidelines2/5

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

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

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

get_component_guideCInspect

Get guidance on building React UI components using Orderly SDK

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

TDQS

C2.9/5.0
Behavior2/5

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

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

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

Conciseness4/5

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

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

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

Completeness3/5

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

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

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are documented with examples and a default, so the schema does the work. The description adds no additional meaning about the component identifier or what complexity levels change in the returned guide, so baseline 3 applies.

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

Purpose4/5

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

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

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

Usage Guidelines2/5

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

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

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

get_contract_addressesBInspect

Get smart contract addresses for Orderly on specific chains

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

TDQS

B3.2/5.0
Behavior2/5

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

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

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

Conciseness5/5

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

The description is a single front-loaded sentence with no wasted words. The key operation and scope are immediately clear.

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

Completeness4/5

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

For a simple lookup tool with three fully documented parameters and no output schema, the description covers the core purpose and return subject ('smart contract addresses'). It could say more about the return structure or contract type filtering, but the schema handles parameter details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents the chain, network, and contractType parameters. The description adds only the phrase 'specific chains,' which aligns with the chain parameter but does not add meaning beyond the schema.

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

Purpose4/5

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

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

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

Usage Guidelines2/5

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

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

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

get_indexer_api_infoBInspect

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

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

TDQS

B3.4/5.0
Behavior3/5

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

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

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

Conciseness4/5

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

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

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

Completeness3/5

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

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

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

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

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

Purpose4/5

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

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

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

Usage Guidelines3/5

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

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

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

get_orderly_one_api_infoBInspect

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

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

TDQS

B3.3/5.0
Behavior2/5

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

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

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

Conciseness4/5

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

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

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

Completeness2/5

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

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

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the two optional parameters are already documented in the input schema. The description adds no parameter-level meaning beyond that, which makes the baseline score of 3 appropriate.

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

Purpose4/5

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

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

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

Usage Guidelines4/5

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

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

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

get_public_info_api_infoAInspect

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

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

TDQS

A4/5.0
Behavior4/5

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

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

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

Conciseness5/5

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

Two sentences, both front-loaded with the identifying facts (API name, endpoint, auth model) before the enumeration of coverage. No filler.

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

Completeness4/5

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

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

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both optional parameters are already documented, including the category/queryType mutual exclusion. The description adds the overall count (24 types) and sample type values, but nothing about format or what an empty call yields beyond the schema.

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

Purpose5/5

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

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

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

Usage Guidelines3/5

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

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

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

get_strategy_vault_api_infoCInspect

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

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

TDQS

C2.9/5.0
Behavior2/5

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

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

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

Conciseness4/5

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

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

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

Completeness3/5

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

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

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters fully documented in the input schema. The description adds no parameter-specific meaning beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

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

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

Usage Guidelines2/5

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

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

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

search_orderly_docsCInspect

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

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

TDQS

C2.9/5.0
Behavior2/5

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

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

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

Conciseness4/5

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

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

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

Completeness2/5

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

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

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains query, limit, scope, and detail with examples and enum semantics. The description adds no parameter meaning beyond that, which is acceptable at baseline 3 but no better.

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

Purpose4/5

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

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

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

Usage Guidelines2/5

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

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

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

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

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation4/5

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

Naming Consistency5/5

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

Tool Count5/5

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

Completeness4/5

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

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

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