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)
- Требуется Python 3.10+ и pipx. Установка pipx:
python -m pip install --upgrade pipx
python -m pipx ensurepath
- 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}] }
- Вход: строка JSON массива событий или путь к файлу (по умолчанию
- 📈 validate_tmeas_tool(metrics_json?: str, metrics_path?: str, write_report?: bool=false):
- Вход: строка JSON с метриками или путь (по умолчанию
metrics.json), опция записиtmeas_report.txt - Выход:
{ ok: bool, report: string }
- Вход: строка JSON с метриками или путь (по умолчанию
- 🔐 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
🔗 Полезные ссылки
- 📦 npm пакет: https://www.npmjs.com/package/sdominanta-mcp
- 🐙 GitHub: https://github.com/DumpKod/Sdominanta.net
- 📚 Документация npm пакета: npm/mcp-wrapper/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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41695c999ac67c38ceef70fcc1aa2ba450711f5d9f868103a9363b7e0de10e17
|
|
| MD5 |
4a99155d3e48d06173136457fbd6ee43
|
|
| BLAKE2b-256 |
0e692da07553783d2758dce9b275aef47043038fd052fe2ff013661349e2f906
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d4ac3b97d714658c0631447623102b70501ad4171ac32dc07832474b8d5f851
|
|
| MD5 |
b552199160795ae3cabc3abf676aad4c
|
|
| BLAKE2b-256 |
4fd55386ec56635614c6e19f1e1ab5adf8fdd350299ce7ed4360b96aba7a8fc4
|