OrdiscanMCP v1
Servidor MCP para interagir com a API Ordiscan e consultar ordinais e inscrições do Bitcoin. Requer uma chave de API Ordiscan.
Documentação
OrdiscanMCP v1
Uma implementação de servidor HTTP do framework MCP com integração com a API Ordiscan.
Recursos
- Transporte HTTP Stream na porta 1337
- Modo de resposta em stream para comunicação em tempo real
- Integração abrangente com a API Ordiscan (29 ferramentas)
- Implementação em TypeScript com validação de esquema Zod
- Tratamento detalhado de erros e formatação de respostas
- Conexão direta com a API (sem necessidade de proxy)
- Autenticação por token Bearer
- Limitação de taxa gerenciada pela API Ordiscan
Conexão com a API e Autenticação
Conexão Direta
Todas as ferramentas conectam-se diretamente à API Ordiscan (api.ordiscan.com) sem necessidade de proxy. Isso garante:
- Tempos de resposta mais rápidos
- Latência reduzida
- Nenhuma configuração adicional necessária
- Tratamento direto de erros
- Limitação de taxa automática pela API Ordiscan
Autenticação
Toda ferramenta exige autenticação usando um token Bearer:
- A chave da API deve ser fornecida de uma das seguintes formas:
- Como parâmetro em cada chamada de ferramenta (parâmetro
apiKey) - Através da variável de ambiente
ORDISCAN_API_KEY
- Como parâmetro em cada chamada de ferramenta (parâmetro
- A autenticação usa o formato de token Bearer
- Todas as requisições incluem o cabeçalho
Authorization: Bearer <your-api-key> - Chaves de API inválidas ou ausentes resultarão em erros de autenticação
Configuração
- Instale as dependências:
npm install
- Compile o projeto:
npm run build
- Configure seu cliente MCP:
{
"mcpServers": {
"ordiscanmcpv1": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-deployed-server.com/mcp"
]
}
}
}
url: (http://localhost:1337/mcp) Remoto: (https://ordiscan-mcp-v1.onrender.com/mcp)
- Inicie o servidor:
npm start
Para desenvolvimento com recarga automática:
npm run dev
Envie a chave com uma requisição uma única vez, e está pronto para uso.
Estrutura do Projeto
ordiscanmcpv1/
├── src/
│ ├── tools/
│ │ ├── ordiscan-utils.ts
│ │ ├── ordiscan.ts # Main Ordiscan Tool
│ │ │
│ │ ├── # Address Tools
│ │ ├── ordiscan-utxo.ts
│ │ ├── ordiscan-inscriptions.ts
│ │ ├── ordiscan-inscriptions-detail.ts
│ │ ├── ordiscan-runes-balance.ts
│ │ ├── ordiscan-brc20-balance.ts
│ │ ├── ordiscan-rare-sats.ts
│ │ │
│ │ ├── # Activity Tools
│ │ ├── ordiscan-inscriptions-activity.ts
│ │ ├── ordiscan-runes-activity.ts
│ │ ├── ordiscan-brc20-activity.ts
│ │ │
│ │ ├── # Transaction Tools
│ │ ├── ordiscan-tx-info.ts
│ │ ├── ordiscan-tx-inscriptions.ts
│ │ ├── ordiscan-tx-inscription-transfers.ts
│ │ ├── ordiscan-tx-runes.ts
│ │ │
│ │ ├── # Inscription Tools
│ │ ├── ordiscan-inscription-info.ts
│ │ ├── ordiscan-inscription-traits.ts
│ │ ├── ordiscan-inscriptions-list.ts
│ │ ├── ordiscan-inscriptions-detail.ts
│ │ │
│ │ ├── # Collection Tools
│ │ ├── ordiscan-collections-list.ts
│ │ ├── ordiscan-collection-info.ts
│ │ ├── ordiscan-collection-inscriptions.ts
│ │ │
│ │ ├── # Rune Tools
│ │ ├── ordiscan-runes-list.ts
│ │ ├── ordiscan-rune-market.ts
│ │ ├── ordiscan-rune-name-unlock.ts
│ │ │
│ │ ├── # BRC-20 Tools
│ │ ├── ordiscan-brc20-list.ts
│ │ ├── ordiscan-brc20-info.ts
│ │ │
│ │ ├── # Sat Tools
│ │ ├── ordiscan-sat-info.ts
│ │ ├── ordiscan-utxo-rare-sats.ts
│ │ └── ordiscan-utxo-sat-ranges.ts
│ │
│ └── index.ts
├── package.json
├── tsconfig.json
└── README.md
Tratamento de Parâmetros
Todas as ferramentas usam utilitários robustos de tratamento de parâmetros de ordiscan-utils.ts:
Tratamento Flexível de Números
flexibleNumber(): Aceita entradas tanto em formato string quanto número para parâmetros numéricos- Converte automaticamente strings numéricas em inteiros
- Valida faixas numéricas quando aplicável
- Usado para paginação, números ordinais e alturas de blocos
Tratamento Flexível de Enums
flexibleEnum(): Valida entradas string contra valores predefinidos- Usado para ordens de classificação ('newest'/'oldest')
- Usado para filtros de tipo e outros valores enumerados
- Fornece mensagens de erro claras para entradas inválidas
Esses utilitários garantem tratamento consistente de parâmetros em todas as ferramentas, mantendo segurança de tipos e validação.
Ferramentas Disponíveis (29 no Total)
1. Ferramenta Principal
- ordiscan_main: Ferramenta de propósito geral para informações e status de runas
2. Ferramentas de Endereço (6)
- Ferramenta UTXO: Obter todos os UTXOs pertencentes a um endereço Bitcoin
- Ferramentas de Inscrição Básica e Detalhada: Obter informações de inscrições para um endereço
- Ferramenta de Saldo de Runas: Obter saldos de runas para um endereço
- Ferramenta de Saldo BRC-20: Obter saldos de tokens BRC-20 para um endereço
- Ferramenta de Sats Raros: Obter sats raros pertencentes a um endereço
3. Ferramentas de Atividade (3)
- Ferramenta de Atividade de Inscrições: Rastrear transferências de inscrições para um endereço
- Ferramenta de Atividade de Runas: Rastrear transferências de runas para um endereço
- Ferramenta de Atividade BRC-20: Rastrear transferências de tokens BRC-20 para um endereço
4. Ferramentas de Transação (4)
- Ferramenta de Informações de Transação: Obter informações detalhadas de transações
- Ferramenta de Inscrições em Transação: Obter inscrições em uma transação
- Ferramenta de Transferências de Inscrições em Transação: Rastrear transferências de inscrições em uma transação
- Ferramenta de Runas em Transação: Rastrear transferências de runas em uma transação
5. Ferramentas de Inscrição (4)
- Ferramenta de Informações de Inscrição: Obter informações detalhadas sobre uma inscrição
- Ferramenta de Características de Inscrição: Obter características de uma inscrição
- Ferramenta de Lista de Inscrições: Obter uma lista paginada de todas as inscrições
- Ferramenta de Transferências de Inscrição: Rastrear transferências de uma inscrição
6. Ferramentas de Coleção (3)
- Ferramenta de Lista de Coleções: Obter uma lista paginada de coleções
- Ferramenta de Informações de Coleção: Obter informações detalhadas sobre uma coleção
- Ferramenta de Inscrições em Coleção: Obter inscrições em uma coleção
7. Ferramentas de Runas (3)
- Ferramenta de Lista de Runas: Obter uma lista de todas as runas
- Ferramenta de Informações de Mercado de Runas: Obter informações de mercado para uma runa
- Ferramenta de Desbloqueio de Nome de Runa: Verificar disponibilidade de nome de runa
8. Ferramentas BRC-20 (2)
- Ferramenta de Lista BRC-20: Obter uma lista de todos os tokens BRC-20
- Ferramenta de Informações de Token BRC-20: Obter informações detalhadas sobre um token BRC-20
9. Ferramentas de Sat (3)
- Ferramenta de Informações de Sat: Obter informações sobre um sat específico
- Ferramenta de Sats Raros em UTXO: Obter sats raros em um UTXO
- Ferramenta de Faixas de Sat em UTXO: Obter faixas de sats em um UTXO
Exemplos de Ferramentas
Ferramenta de Informações de Inscrição
Obtenha informações detalhadas sobre uma inscrição específica.
Nome da Ferramenta: ordiscan_inscription_info
Parâmetros:
id(string): O ID da inscrição (ex.: b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0)apiKey(string, opcional): Sua chave da API Ordiscan
Exemplo de Resposta:
{
"success": true,
"formatted": {
"id": "b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0",
"number": 123456,
"type": "image/png",
"timestamp": "2024-01-01 12:00:00",
"sat": "1,234,567",
"content_url": "https://ordinals.com/content/...",
"collection": "example-collection",
"owner": {
"address": "bc1...",
"output": "txid:vout"
},
"genesis": {
"address": "bc1...",
"output": "txid:vout"
}
}
}
Ferramenta de Mercado de Runas
Obtenha informações de mercado para uma runa específica.
Nome da Ferramenta: ordiscan_rune_market
Parâmetros:
name(string): O nome único da runa (sem espaçadores)apiKey(string, opcional): Sua chave da API Ordiscan
Exemplo de Resposta:
{
"success": true,
"formatted": {
"price": {
"sats": "1,234.56",
"usd": "$0.50"
},
"market_cap": {
"btc": "12.3456",
"usd": "$500,000"
}
}
}
Ferramenta de Informações BRC-20
Obtenha informações detalhadas sobre um token BRC-20.
Nome da Ferramenta: ordiscan_brc20_info
Parâmetros:
tick(string): O tick único do tokenapiKey(string, opcional): Sua chave da API Ordiscan
Exemplo de Resposta:
{
"success": true,
"formatted": {
"tick": "ORDI",
"supply": {
"max": "21,000,000",
"minted": "15,000,000",
"remaining": "6,000,000",
"percent_minted": "71.43%"
},
"market": {
"price_usd": "$1.23",
"market_cap_usd": "$18,450,000",
"fully_diluted_market_cap_usd": "$25,830,000"
}
}
}
Tratamento de Erros
Todas as ferramentas incluem tratamento abrangente de erros:
- Validação de chave da API
- Erros de requisição de rede
- Validação de entrada inválida
- Respostas de limitação de taxa da API Ordiscan
- Mensagens de erro detalhadas
Formatação de Respostas
Cada ferramenta fornece respostas tanto brutas quanto formatadas:
- Dados brutos no campo
data - Dados formatados legíveis por humanos no campo
formatted - Formato de erro consistente em todas as ferramentas
- Formatação adequada de números e localização de datas
Recomendações de Segurança
Gerenciamento de Chaves da API
- Nunca codifique chaves da API diretamente no código
- Use variáveis de ambiente para armazenar chaves da API
- Rotacione chaves da API periodicamente
- Use chaves da API diferentes para desenvolvimento e produção
Tratamento de Erros
O servidor implementa tratamento seguro de erros:
- Nenhuma informação sensível em mensagens de erro
- Códigos de status HTTP adequados
- Respostas de erro estruturadas
- Registro de erros sem expor detalhes internos
Validação de Entrada
Todas as ferramentas usam validação rigorosa de entrada:
- Validação de esquema Zod para todos os parâmetros
- Verificação de tipos com TypeScript
- Tratamento flexível de números para entradas numéricas
- Validação de strings para valores enumerados
Limitação de Taxa
A limitação de taxa é gerenciada pela API Ordiscan:
- Nenhuma limitação de taxa adicional necessária
- Limites de taxa baseados na chave da API
- Respostas de erro adequadas para limite de taxa excedido
- Tratamento automático de limitação de taxa