Skip to content

AI-агенти (MCP) ​

neurochain-mcp — сервер Model Context Protocol. Він дає AI-асистенту — Claude Code, Claude Desktop чи будь-якому MCP-клієнту — читати мережу і в заданих вами межах діяти в ній.

AI-асистент ⇄ (MCP через stdio) ⇄ neurochain-mcp ⇄ (HTTP) ⇄ gateway :3000 ⇄ нода :9933

Сервер — звичайний Node.js у папці neurochain-mcp/ репозиторію (без кроку збірки). Він звертається лише до REST API gateway.

Чому це безпечно ​

  • Записи підписуються сесійним ключем, а не майстер-ключем гаманця. Ключ видає ваш майстер-ключ з дозволеними адресами, лімітом витрат і строком дії, і кожен валідатор перевіряє їх у консенсусі — див. Абстракція акаунтів → Сесійні ключі.
  • Сесійний ключ не може керувати списком довіри Sentinel чи підтверджувати утриманий переказ. Якщо Sentinel утримав ризикований переказ, пропустити його можете лише ви.
  • Стейкінг, делегування і голосування агентам не доступні.
  • Без сесійного ключа сервер працює лише на читання.

Налаштування ​

1. Встановлення ​

bash
cd neurochain-mcp
npm install

2. Сесійний ключ і конфігурація ​

У вебгаманці відкрийте панель Agent, створіть сесійний ключ — оберіть адреси, на які він може надсилати (або *), загальний ліміт витрат і скільки блоків він дійсний, — і натисніть Export config. Ви отримаєте:

json
{
  "node_rpc": "http://localhost:3000",
  "account": "neuro:<15 hex>.human",
  "session_pk": "<публічний ключ сесії, hex>",
  "sk_seed_hex": "<seed ключа сесії, hex>",
  "scope": "*"
}
ПолеЗначення
node_rpcАдреса gateway (не порт ноди 9933). Гаманець підставляє адресу своєї сторінки; змініть, якщо gateway працює деінде
accountАдреса, від імені якої діє агент
session_pk, sk_seed_hexСесійний ключ. Залиште обидва порожніми для режиму лише читання
scopeЛише для довідки — діє той дозвіл, що записаний у мережі

Збережіть файл поза репозиторієм і нікому не передавайте: sk_seed_hex — секрет.

3. Реєстрація сервера ​

Claude Code:

bash
claude mcp add neurochain \
  --env NEUROCHAIN_MCP_CONFIG=/absolute/path/to/neurochain-mcp.config.json \
  -- node /absolute/path/to/neurochain-mcp/src/index.js

Claude Desktop (claude_desktop_config.json) або .mcp.json проєкту:

json
{
  "mcpServers": {
    "neurochain": {
      "command": "node",
      "args": ["/absolute/path/to/neurochain-mcp/src/index.js"],
      "env": { "NEUROCHAIN_MCP_CONFIG": "/absolute/path/to/neurochain-mcp.config.json" }
    }
  }
}

Використовуйте абсолютні шляхи: клієнт запускає сервер зі своєї робочої папки.

Інструменти ​

Читання ​

ІнструментПараметриПовертає
nc_get_accountaddress (за замовчуванням — налаштований акаунт)Баланс, nonce, кількість транзакцій
nc_get_txsaddress, limit (1–200)Історію транзакцій
nc_gas_estimate—Базову комісію й оцінки
nc_list_proposalsstatus, limit (1–100), offsetПропозиції управління з підсумками голосів
nc_list_validators—Валідаторів зі стейком і метриками
nc_get_contractaddress (.app)Власника, хеш коду, оцінку безпеки
nc_analyze_contractbytecode_hexАналіз VMGuardian — ризик, порушення
nc_get_session_grantsaddressСесійні ключі акаунта з лімітом і витраченою сумою
nc_get_heldaddressПерекази, утримані Sentinel

Запис (потрібен сесійний ключ) ​

ІнструментПараметриПримітки
nc_transferto, amount_nro (NRO, з дробовою частиною)Якщо Sentinel утримав переказ, інструмент скаже, чи він звільниться сам, чи потрібне ваше підтвердження
nc_call_contractto (.app), function, args, value (uNRO, за замовчуванням 0)
nc_deploybytecode_hex, name, description, template, init_argsПроходить шлюз VMGuardian, як будь-яке розгортання

Кожен запис читає наступний nonce, підписує сесійним ключем і надсилає на POST /api/v1/transactions. Нода перевіряє дозвіл на кожному валідаторі; наприклад, переказ понад ліміт повертається так:

Error: POST /api/v1/transactions failed: HTTP 401 — session spend cap exceeded

Перевірено ​

У локальній тестовій мережі: інструменти читання повертають живі дані; nc_transfer на 1 NRO із сесійним ключем з лімітом 5 NRO підтверджено, а в дозволі записано spent: 1000000; наступний переказ на 10 NRO відхилено з помилкою вище; без сесійного ключа інструменти запису відмовляють, нічого не підписуючи.

Відкликання ​

Відкличте ключ на панелі Agent у гаманці або через POST /api/v1/session/revoke, підписаний майстер-ключем. З наступного блоку все, що підписано цим ключем, відхиляється.