Skip to main content

Autonomous MCP server for Sdominanta.net (seed/schema/validators/wall signatures)

Project description

🚀 Sdominanta MCP Server

Автономный MCP сервер для Cursor/Claude с валидацией телеметрии, проверкой метрик и верификацией подписей

Работает через stdio, не требует запусков «вручную». Достаточно прописать его в настройках клиента — и он будет доступен как инструмент.

🛠️ Что умеет

  • 🔍 seed/schema/prompt/version - доступ к контексту и контроль версий артефактов
  • 📊 validate_telemetry - проверка событий по TELEMETRY_SCHEMA.json
  • 📈 validate_tmeas - проверки метрик T_meas
  • 🔐 verify_wall_signatures - проверка подписей в wall/threads по ключам из CONTEXT_SEED.json

🚀 Быстрый старт (рекомендуется)

⭐ Вариант 0: npm пакет (САМЫЙ ПРОСТОЙ!)

Один клик - без установки Python зависимостей!

npx sdominanta-mcp --base /path/to/project

Настройка Cursor:

{
  "mcpServers": {
    "sdominanta-mcp": {
      "command": "npx",
      "args": ["-y", "sdominanta-mcp", "--base", "B:\\projects\\🜄Sdominanta.net\\Sdominanta.net"],
      "type": "stdio"
    }
  }
}

Преимущества:

  • Без локального venv - автоматическая установка зависимостей
  • Глобальная доступность - работает из любой директории
  • Автообновления - npx всегда берет последнюю версию
  • Кроссплатформенность - Windows, Linux, macOS

🔧 Альтернативные способы (для разработчиков)

Рекомендуемый способ — запуск через пакетный раннер, чтобы у пользователя «не было ничего локально» руками:

📦 Вариант A: npx (Node-обёртка, единый способ как у многих MCP)

{
  "mcpServers": {
    "sdominanta-mcp": {
      "command": "npx",
      "args": ["-y", "sdominanta-mcp", "--base", "B:\\path\\to\\Sdominanta.net"],
      "type": "stdio"
    }
  }
}

– Требуется Node.js. npx скачает обёртку sdominanta-mcp и запустит Python‑сервер под капотом.

🐍 Вариант B: pipx run (Python пакет из PyPI)

  1. Требуется Python 3.10+ и pipx. Установка pipx:
python -m pip install --upgrade pipx
python -m pipx ensurepath
  1. Cursor → файл c:\Users\<user>\.cursor\mcp.json:
{
  "mcpServers": {
    "sdominanta-mcp": {
      "command": "pipx",
      "args": [
        "run", "--spec", "sdominanta-mcp",
        "sdominanta-mcp", "--base", "B:\\path\\to\\Sdominanta.net"
      ],
      "type": "stdio"
    }
  }
}

– pipx сам подтянет/обновит пакет с PyPI, запуск — без ручной установки в системе.

🔧 Вариант C: локальный CLI (pipx install)

pipx install sdominanta-mcp

mcp.json:

{
  "mcpServers": {
    "sdominanta-mcp": {
      "command": "sdominanta-mcp",
      "args": ["--base", "B:\\path\\to\\Sdominanta.net"],
      "type": "stdio"
    }
  }
}

🛠️ Вариант D: локальный venv (разработчик)

python -m venv .venv
.venv\Scripts\python -m pip install --upgrade pip
.venv\Scripts\python -m pip install -e .

mcp.json:

{
  "mcpServers": {
    "sdominanta-mcp": {
      "command": "B:\\path\\to\\Sdominanta.net\\.venv\\Scripts\\sdominanta-mcp.exe",
      "args": ["--base", "B:\\path\\to\\Sdominanta.net"],
      "type": "stdio"
    }
  }
}

📝 Примечания

  • 🪟 В Windows в JSON экранируйте обратные слэши: \\
  • 📁 --base — абсолютный путь к корню репозитория (где лежат CONTEXT_SEED.json и TELEMETRY_SCHEMA.json)
  • 🌐 Для безопасной кодировки можно добавить окружение:
"env": { "PYTHONUTF8": "1", "PYTHONIOENCODING": "utf-8" }

🔧 Инструменты (API)

  • 🔍 get_seed() - вернуть JSON из CONTEXT_SEED.json
  • 📋 get_schema() - вернуть JSON‑схему из TELEMETRY_SCHEMA.json
  • ℹ️ version_info() - пути и SHA‑256 основных файлов
  • 💬 prompt() - стартовый промпт (prelude + нотация + список файлов из seed)
  • 📊 validate_telemetry_tool(events_json?: str, events_path?: str):
    • Вход: строка JSON массива событий или путь к файлу (по умолчанию telemetry_samples.json)
    • Выход: { ok: bool, count: number, errors: [{index, error}] }
  • 📈 validate_tmeas_tool(metrics_json?: str, metrics_path?: str, write_report?: bool=false):
    • Вход: строка JSON с метриками или путь (по умолчанию metrics.json), опция записи tmeas_report.txt
    • Выход: { ok: bool, report: string }
  • 🔐 verify_wall_signatures_tool(threads_dir?: str):
    • Проверка подписей в каталоге wall/threads по публичным ключам из CONTEXT_SEED.json
    • Выход: { ok: bool, verified: number, errors: string[] }

🔄 Обновления и публикация

📦 npm пакет:

  • Автоматические обновления - npx всегда берет последнюю версию
  • Публикация - через npm publish в директории npm/mcp-wrapper/
  • Версионирование - обновляется в npm/mcp-wrapper/package.json

🐍 PyPI пакет:

  • Релиз: GitHub Actions release.yml (создаёт тег sdominanta-mcp-vX.Y.Z)
  • Публикация на PyPI: publish-pypi.yml по тэгу (нужен секрет PYPI_TOKEN)
  • Пользователи в Cursor при варианте «pipx run» получают актуальную версию без ручной установки

⚡ GitHub Actions:

  • publish-npm.yml - автоматическая публикация npm пакета
  • publish-pypi.yml - автоматическая публикация PyPI пакета

🎯 Автоматические скрипты запуска

Для локального использования доступны автоматические скрипты:

🪟 Windows:

  • start_mcp_server.bat - простой запуск одним кликом
  • Start-McpServer.ps1 - продвинутый PowerShell скрипт с параметрами

💻 Использование PowerShell скрипта:

.\Start-McpServer.ps1 -Install    # установка зависимостей
.\Start-McpServer.ps1 -Test       # тестирование
.\Start-McpServer.ps1             # запуск

Подробная документация: MCP_LAUNCHER_README.md


🔗 Полезные ссылки


⚠️ Типовые проблемы

  • 🚫 Путь с символами (например, 🜄) — используйте абсолютные пути и экранирование в JSON
  • 🌐 Кодировка Windows — добавьте PYTHONUTF8=1 и PYTHONIOENCODING=utf-8 в env
  • 🔑 verify_wall_signatures — требуется секция public_keys в CONTEXT_SEED.json
  • 📦 npm пакет не работает — убедитесь, что у вас установлен Node.js 18+

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sdominanta_mcp-0.1.3.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sdominanta_mcp-0.1.3-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file sdominanta_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: sdominanta_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for sdominanta_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 41695c999ac67c38ceef70fcc1aa2ba450711f5d9f868103a9363b7e0de10e17
MD5 4a99155d3e48d06173136457fbd6ee43
BLAKE2b-256 0e692da07553783d2758dce9b275aef47043038fd052fe2ff013661349e2f906

See more details on using hashes here.

File details

Details for the file sdominanta_mcp-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: sdominanta_mcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for sdominanta_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7d4ac3b97d714658c0631447623102b70501ad4171ac32dc07832474b8d5f851
MD5 b552199160795ae3cabc3abf676aad4c
BLAKE2b-256 4fd55386ec56635614c6e19f1e1ab5adf8fdd350299ce7ed4360b96aba7a8fc4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page