Сервер Cyberlink MCP
Сервер Model Context Protocol (MCP) для взаимодействия со смарт-контрактом CW-Social на блокчейнах на базе Cosmos. Этот сервер предоставляет стандартизированный интерфейс для создания, обновления и запроса киберссылок — семантических отношений между сущностями в блокчейне.
Функции
Основные операции
Создание, чтение, обновление и удаление киберссылок
Поддержка именованных киберссылок с пользовательскими идентификаторами
Пакетные операции для эффективной обработки
Широкие возможности запросов с фильтрацией и разбиением на страницы
Управление транзакциями
Мониторинг транзакций в реальном времени и опрос статуса
Подробные результаты транзакций и обработка ошибок
Поддержка как внутреннего, так и внешнего подписания транзакций
Возможности передачи токенов
Расширенные функции
Генерация семантического встраивания с помощью преобразователей Hugging Face
Отслеживание хода выполнения модельных операций в режиме реального времени
Расчеты косинусного сходства для семантического сопоставления
Гибкая система идентификаторов с форматированными идентификаторами (fids) и глобальными идентификаторами (gids)
Запросы на основе временного диапазона с поддержкой UTC
Фильтрация и статистика на основе владельца
Related MCP server: Chronos MCP Server
Предпосылки
Node.js 16 или выше
менеджер пакетов npm или yarn
Доступ к работающему узлу блокчейна Cosmos
Кошелек с достаточным количеством средств для проведения транзакций
Курсор IDE для разработки
Claude Desktop для помощи с ИИ
Установка
Клонируйте репозиторий:
Установить зависимости:
Создайте проект:
Настройте переменные среды (см. раздел «Конфигурация»)
Конфигурация
Настройка сервера MCP
Создайте или измените файл конфигурации в ~/.cursor/mcp.json :
Требуемая конфигурация
Необходимые переменные среды:
PATH_TO_YOUR_PROJECT: Абсолютный путь к каталогу проектаNODE_URL: URL-адрес узла блокчейна CosmosCONTRACT_ADDRESS: Развернутый адрес смарт-контракта
Дополнительная конфигурация
Необязательные переменные среды:
WALLET_MNEMONIC: Мнемоника кошелька для подписи (по умолчанию: отсутствует — транзакции будут неподписанными)DENOM: номинал токена (по умолчанию: «ставка»)BENCH32_PREFIX: префикс BECH32
Доступные инструменты
Управление киберлинком
Инструменты для создания
создать_киберссылку
Описание: Создать единую киберссылку
Требуется:
typeНеобязательно:
from,to,value
создать_киберлинк2
Описание: Создать узел + ссылку
Обязательно:
node_type,link_typeНеобязательно:
node_value,link_value,link_to_existing_id,link_from_existing_id
создать_именованную_киберссылку
Описание: Создать именованную киберссылку (только администратор)
Обязательно:
name,cyberlink
создать_киберссылки
Описание: Пакетное создание киберссылок
Требуется:
cyberlinks[]
Инструменты модификации
обновление_киберссылки
Описание: Обновить существующую киберссылку
Требуется:
gid,cyberlink
удалить_киберссылку
Описание: Удалить киберссылку
Требуется:
gid
обновление_со_встраиванием
Описание: Добавить семантическое встраивание
Обязательно:
formatted_id
Операции запроса
Базовые запросы
запрос_по_gid
Описание: Получить по глобальному идентификатору
Требуется:
gid
запрос_по_fid
Описание: Получить по отформатированному ID
Требуется:
fid
запрос_киберссылки
Описание: Список всех с нумерацией страниц
Параметры:
limit,start_after
query_named_cyberlinks
Описание: Список именованных киберссылок
Параметры:
limit,start_after
запрос_по_gids
Описание: Получить несколько по идентификаторам
Требуется:
gids[]
Отфильтрованные запросы
запрос_киберссылки_по_типу
Описание: Фильтр по типу
Требуется:
type
запрос_киберссылки_по_от
Описание: Фильтр по источнику
Требуется:
from
запрос_киберссылки_по_тому
Описание: Фильтр по цели
Требуется:
to
запрос_киберссылки_по_владельцу_и_типу
Описание: Фильтр по владельцу и типу
Требуется:
owner,type
Запросы, основанные на времени
запрос_киберссылки_по_времени_владельца
Описание: Фильтр по времени создания
Требуется:
owner,start_time
запрос_киберссылки_по_времени_владельца_любой
Описание: Фильтр по любому времени
Требуется:
owner,start_time
Системные операции
Информация о контракте
query_last_id
Описание: Получить последний назначенный идентификатор
query_config
Описание: Получить конфигурацию контракта
запрос_отладочное_состояние
Описание: Получить состояние отладки (только администратор)
получить_графическую_статистику
Описание: Получить статистику графика
Транзакция и кошелек
запрос_транзакция
Описание: Получить статус tx
Требуется:
transaction_hash
получить_статус_передачи
Описание: Получить подробный статус транзакции
Требуется:
transaction_hash
запрос_баланс_кошелька
Описание: Получить баланс кошелька
отправить_токены
Описание: Передача токенов
Требуется:
recipient,amount
Параметры запроса
Формат временного диапазона
Все временные метки должны быть в формате ISO 8601.
Пример:
2024-06-01T12:00:00ZЕсли не указано иное, предполагается часовой пояс UTC.
start_timeявляется обязательным,end_timeявляется необязательным
Пагинация
start_after: Курсор пагинацииlimit: результатов на страницу (по умолчанию: 50)
Разработка
Команды сборки
Структура проекта
Коды ошибок
Неверные параметры
Описание: Неверные параметры
Распространенные причины: отсутствие обязательных полей, неправильный формат.
Метод не найден
Описание: Неизвестный инструмент
Распространенные причины: опечатка в названии инструмента, устаревший инструмент.
ВнутренняяОшибка
Описание: Системная ошибка
Распространенные причины: проблемы с сетью, ошибки контракта.
Запустить MCP через SSE
Вы можете запустить сервер MCP с помощью Docker, чтобы превратить его в сервер SSE. Это гарантирует сохранение кэша модели Hugging Face между запусками и загрузку переменных окружения из вашего файла .env.
-v $(pwd)/hf-cache:/app/hf-cacheмонтирует локальный каталог для кэширования моделей, поэтому модели не загружаются повторно каждый раз.--env-file .envзагружает переменные среды из вашего файла.env.-p 8000:8000открывает доступ к серверу на порту 8000.--name cw-socialприсваивает имя вашему контейнеру для более удобного управления.
Внося вклад
Форк репозитория
Создайте ветку функций (
git checkout -b feature/amazing-feature)Зафиксируйте свои изменения (
git commit -m 'Add amazing feature')Отправить в ветку (
git push origin feature/amazing-feature)Открыть запрос на извлечение
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .