OrdiscanMCP v1
Реализация HTTP-сервера MCP Framework с интеграцией API Ordiscan.
Функции
HTTP-потоковый транспорт через порт 1337
Режим потокового ответа для общения в реальном времени
Комплексная интеграция API Ordiscan (29 инструментов)
Реализация TypeScript с проверкой схемы Zod
Подробная обработка ошибок и форматирование ответа
Прямое API-подключение (прокси-сервер не требуется)
Аутентификация токена на предъявителя
Ограничение скорости, осуществляемое API Ordiscan
Related MCP server: Obsidian MCP REST Server
API-подключение и аутентификация
Прямое подключение
Все инструменты подключаются напрямую к API Ordiscan ( api.ordiscan.com ) без необходимости использования прокси. Это гарантирует:
Более быстрое время отклика
Уменьшенная задержка
Дополнительная настройка не требуется
Прямая обработка ошибок
Автоматическое ограничение скорости с помощью API Ordiscan
Аутентификация
Каждый инструмент требует аутентификации с использованием токена Bearer:
Ключ API должен быть предоставлен либо:
Как параметр в каждом вызове инструмента (параметр
apiKey)Через переменную среды
ORDISCAN_API_KEY
Аутентификация использует формат токена Bearer
Все запросы включают заголовок
Authorization: Bearer <your-api-key>Недействительные или отсутствующие ключи API приведут к ошибкам аутентификации.
Настраивать
Установите зависимости:
npm installСоздайте проект:
npm run buildНастройте свой MCP-клиент:
{
"mcpServers": {
"ordiscanmcpv1": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-deployed-server.com/mcp"
]
}
}
}URL: ( http://localhost:1337/mcp ) Удаленно: ( https://ordiscan-mcp-v1.onrender.com/mcp )
Запустите сервер:
npm startДля разработки с горячей перезагрузкой:
npm run devПередайте ключ с просьбой один раз, и все готово.
Структура проекта
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Обработка параметров
Все инструменты используют надежные утилиты обработки параметров из ordiscan-utils.ts :
Гибкая обработка номеров
flexibleNumber(): принимает как строковые, так и числовые входные данные для числовых параметров.Автоматически преобразует строковые числа в целые числа
Проверяет числовые диапазоны, где это применимо
Используется для нумерации страниц, порядковых номеров и высоты блоков.
Гибкая обработка перечислений
flexibleEnum(): проверяет входные строки на соответствие предопределенным значениямИспользуется для сортировки по порядку («самые новые»/«самые старые»)
Используется для фильтров типов и других перечисляемых значений.
Предоставляет четкие сообщения об ошибках при недопустимом вводе данных.
Эти утилиты обеспечивают единообразную обработку параметров во всех инструментах, поддерживая при этом безопасность типов и проверку.
Доступные инструменты (всего 29)
1. Основной инструмент
ordiscan_main : Универсальный инструмент для получения информации о рунах и их статусе
2. Адресные инструменты (6)
Инструмент UTXO : получите все UTXO, принадлежащие адресу Bitcoin
Базовые и подробные инструменты для создания надписей : получение информации о надписях для адреса
Инструмент балансировки рун : получение баланса рун для адреса
Инструмент балансировки BRC-20 : получите баланс токенов BRC-20 для адреса
Инструмент Rare Sats : Получить редкие саты, принадлежащие адресу
3. Инструменты для занятий (3)
Инструмент активности надписей : отслеживание переводов надписей для адреса
Инструмент активности рун : отслеживание переводов рун для адреса
Инструмент активности BRC-20 : отслеживание переводов токенов BRC-20 для адреса
4. Инструменты транзакций (4)
Инструмент информации о транзакции : получите подробную информацию о транзакции
Инструмент надписей транзакций : получение надписей в транзакции
Инструмент для перевода записей транзакций : отслеживание переводов записей в транзакции
Инструмент транзакционных рун : отслеживание переводов рун в транзакции
5. Инструменты для надписей (4)
Инструмент информации о надписи : получите подробную информацию о надписи
Инструмент «Таблицы надписей» : получение характеристик для надписи
Инструмент списка надписей : получение постраничного списка всех надписей
Инструмент переноса надписей : отслеживание переносов надписей
6. Инструменты для сбора (3)
Инструмент списка коллекций : получение постраничного списка коллекций
Инструмент информации о коллекции : получите подробную информацию о коллекции
Инструмент надписей коллекции : получение надписей в коллекции
7. Рунические инструменты (3)
Инструмент списка рун : получить список всех рун
Инструмент информации о рынке рун : получение информации о рынке рун
Инструмент разблокировки имени руны : проверка доступности имени руны
8. Инструменты BRC-20 (2)
Инструмент списка BRC-20 : получите список всех токенов BRC-20
Инструмент информации о токене BRC-20 : получите подробную информацию о токене BRC-20
9. Инструменты Sat (3)
Инструмент информации о спутнике : получение информации о конкретном спутнике
Инструмент UTXO Rare Sats : получите редкие саты в UTXO.
Инструмент UTXO Sat Ranges : Получите диапазоны спутников в UTXO
Примеры инструментов
Инструмент информации о надписи
Получите подробную информацию о конкретной надписи.
Имя инструмента: ordiscan_inscription_info
Параметры:
id(строка): Идентификатор надписи (например, b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0)apiKey(строка, необязательно): Ваш ключ API Ordiscan
Пример ответа:
{
"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"
}
}
}Инструмент рынка рун
Получите рыночную информацию по конкретной руне.
Название инструмента: ordiscan_rune_market
Параметры:
name(строка): Уникальное имя руны (без пробелов)apiKey(строка, необязательно): Ваш ключ API Ordiscan
Пример ответа:
{
"success": true,
"formatted": {
"price": {
"sats": "1,234.56",
"usd": "$0.50"
},
"market_cap": {
"btc": "12.3456",
"usd": "$500,000"
}
}
}Информационный инструмент BRC-20
Получите подробную информацию о токене BRC-20.
Название инструмента: ordiscan_brc20_info
Параметры:
tick(строка): уникальный тик токенаapiKey(строка, необязательно): Ваш ключ API Ordiscan
Пример ответа:
{
"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"
}
}
}Обработка ошибок
Все инструменты включают комплексную обработку ошибок:
Проверка ключа API
Ошибки сетевых запросов
Неверная проверка ввода
Ограничение скорости ответов от API Ordiscan
Подробные сообщения об ошибках
Форматирование ответа
Каждый инструмент предоставляет как необработанные, так и отформатированные ответы:
Необработанные данные в поле
dataФорматированные данные, удобные для чтения человеком, в
formattedполеЕдиный формат ошибок для всех инструментов
Правильное форматирование чисел и локализация даты
Рекомендации по безопасности
Управление ключами API
Никогда не задавайте ключи API в коде жестко
Используйте переменные среды для хранения ключей API
Периодически меняйте ключи API
Используйте разные ключи API для разработки и производства
Обработка ошибок
На сервере реализована безопасная обработка ошибок:
В сообщениях об ошибках нет конфиденциальной информации.
Правильные коды статуса HTTP
Структурированные ответы на ошибки
Регистрация ошибок без раскрытия внутренних компонентов
Проверка входных данных
Все инструменты используют строгую проверку входных данных:
Проверка схемы Zod для всех параметров
Проверка типов с помощью TypeScript
Гибкая обработка чисел для числовых вводов
Проверка строк для перечисляемых значений
Ограничение скорости
Ограничение скорости осуществляется с помощью API Ordiscan:
Дополнительное ограничение скорости не требуется
Ограничения скорости на основе ключей API
Правильные ответы на ошибки при превышении лимита скорости
Автоматическая обработка ограничения скорости