synplify-mcp
by chinn-choppa
README.md
# synplify-mcp
[English](README.en.md) · [Участие в разработке](CONTRIBUTING.md) · [Безопасность](SECURITY.md)
Локальный MCP-сервер для анализа синтеза FPGA и отчётов Synopsys Synplify Pro.
> **Статус: bootstrap / экспериментальный (0.0.1).** Проект содержит проверяемый каркас MCP, безвредное обнаружение установленного инструмента и ограниченный разбор текстовых диагностик. Он **пока не запускает** синтез или симуляцию и не может подтверждать работоспособность коммерческих инструментов. См. [план](docs/ROADMAP.md).
## Для чего нужен
Сопоставление предупреждений синтеза, ресурсов и предварительных временных отчётов между сборками.
**Принципы:** отдельно от `agent-dev-toolkit`; свободная установка из исходников; никаких встроенных EDA-бинарников, лицензий, облачных запросов и непрошеных изменений файлов проекта. Каждая команда имеет ограниченную область доступа и возвращает наблюдаемые доказательства, а не догадки.
## Быстрый старт
Нужен Python 3.11+ и установленный `uv`. Для самого MCP-сервера нужен совместимый MCP SDK v2.3.0; SDK будет установлен в локальное виртуальное окружение при выполнении `uv sync`.
```bash
git clone https://github.com/chinn-choppa/synplify-mcp.git
cd synplify-mcp
uv sync
uv run synplify-mcp
```
Локальная конфигурация клиента MCP (пример структуры; конкретный путь к `uv`/проекту и формат конфигурации зависят от клиента):
```json
{
"mcpServers": {
"synplify-mcp": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/synplify-mcp", "run", "synplify-mcp"]
}
}
}
```
Это пример для клиентов с ключом `mcpServers`; Codex и OpenCode используют собственные схемы. Все пути должны указывать на доверенную локальную копию.
## Доступные инструменты прототипа
| Tool | Назначение | Граница |
| --- | --- | --- |
| `server_info` | Идентификатор сервера, состояние, ограничения | Только чтение |
| `tool_status` | Поиск установленного `synplify_pro` или пути из переменной `SYNPLIFY_MCP_EXECUTABLE` | Не запускает EDA-продукт |
| `parse_diagnostics` | Выделение диагностических сообщений из переданного текста | До 1 МиБ и 200 записей |
Базовый анализ сообщений не заменяет полноценный парсер .srr; реализация запуска синтеза запланирована отдельно.
## Воспроизводимые проверки
```bash
python -m unittest discover -s tests -v
python -m compileall -q src tests
```
После `uv sync` проверьте запуск `uv run synplify-mcp` с MCP Inspector или настоящим MCP-клиентом. Одна лишь установка или `tools/list` **не доказывает** успешное выполнение EDA-команды. До появления соответствующих реализаций состояние таких проверок — `NOT_RUN`.
## Ограничения
Synplify — коммерческий продукт. Этот репозиторий не включает исполняемые файлы, лицензии и проприетарные образцы отчётов.
См. [архитектуру](docs/ARCHITECTURE.md), [совместимость](docs/COMPATIBILITY.md), [контракт результатов](docs/TOOL_CONTRACT.md), [тестирование](docs/TESTING.md) и [дорожную карту](docs/ROADMAP.md).
## Лицензия
Apache License 2.0. Настоящий репозиторий не связан с производителем Synopsys Synplify Pro и не является его официальным продуктом.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing