# pyslang-mcp

Сервер разбирает проекты Verilog и SystemVerilog средствами компилятора и даёт агенту контекст для проверки структуры и диагностики. Работает только на чтение.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 21
- Автор: ariklapid
- Лицензия: Apache-2.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/ariklapid/pyslang-mcp
- Обновлён: 2026-06-14
- HTML: https://affpapa.org/nevibecode/mcp/pyslang-mcp

## Что делает

pyslang-mcp анализирует файлы Verilog и SystemVerilog через pyslang. Агент может запросить сообщения фронтенда компилятора, список модулей, интерфейсов и пакетов, иерархию экземпляров, объявления и ссылки на символы. Сервер также показывает подключения портов и структурные связи сигналов.

Для работы нужен локальный доступ к проекту и `project_root` в каждом вызове. Можно передать отдельные файлы или filelist `.f`; поддерживаются вложенные списки, include-директории и defines. Для filelist поддерживается практическое подмножество синтаксиса, поэтому неподдерживаемые элементы могут помешать загрузке нужных файлов. Сервер использует stdio и не меняет RTL.

Это средство анализа исходников, а не симулятор, синтезатор или замена линтеру. Трассировка связности показывает структурные сведения фронтенда, но не доказывает поведение схемы и не заменяет signoff-проверки.

## Требования
- Нужно: Python и uv (команды через uvx)

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add pyslang-mcp -- uvx pyslang-mcp
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from pyslang-mcp <команда>

### Codex

**Командой платформы**
```bash
codex mcp add pyslang-mcp -- uvx pyslang-mcp
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from pyslang-mcp <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "pyslang-mcp": {
            "command": "uvx",
            "args": [
                "pyslang-mcp"
            ]
        }
    }
}
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from pyslang-mcp <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "pyslang-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "pyslang-mcp"
            ]
        }
    }
}
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from pyslang-mcp <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add pyslang-mcp uvx pyslang-mcp
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from pyslang-mcp <команда>

## Когда брать
- проверить сообщения компилятора по RTL-проекту
- развернуть filelist `.f` и проверить пути include
- найти объявления и ссылки на символ
- проследить иерархию экземпляров от top-модуля
- посмотреть подключения портов и связи сигнала

## Примеры запросов агенту
- Разбери filelist `compile/project.f` и покажи ошибки фронтенда компилятора.
- Найди объявления и ссылки на `payload` в проекте с корнем `rtl-project`.
- Покажи иерархию модуля `top` и подключения его экземпляров.

## Похожие
- [Serena MCP: the IDE for your agent](https://affpapa.org/nevibecode/mcp/serena-mcp-the-ide-for-your-agent.md) — MCP-сервер · ★ 30677
- [Compiler Explorer](https://affpapa.org/nevibecode/mcp/compiler-explorer.md) — MCP-сервер · ★ 19148
- [Claude Code Explorer MCP](https://affpapa.org/nevibecode/mcp/claude-code-explorer-mcp.md) — MCP-сервер · ★ 6235
- [Tolgee](https://affpapa.org/nevibecode/mcp/tolgee.md) — MCP-сервер · ★ 4139
- [jshookmcp](https://affpapa.org/nevibecode/mcp/jshookmcp.md) — MCP-сервер · ★ 2061
- [pyscn](https://affpapa.org/nevibecode/mcp/pyscn.md) — MCP-сервер · ★ 1096

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
