physics-lint-mcp
physics-lint-mcp
📖 Сайт документации — повествование о портфолио, концепции, полное прохождение и что всё это доказывает (а что нет).
Физический оракул, мимо которого ваш ИИ-агент не сможет обойтись разговорами.
У LLM нет способа отличить физически невозможную S-параметрическую матрицу от правдоподобной — обе являются просто числами. Дайте агенту сфабрикованную модель, и он будет уверенно рассуждать о ней, цитировать её и строить на её основе. Ничто в цикле не возражает.
Эти MCP-инструменты дают агенту истину из линейной алгебры, а не из его собственного суждения.
Быстрый старт за 30 секунд
git clone https://github.com/nickharris808/physics-lint-mcp.git
cd physics-lint-mcp
pip install git+https://github.com/nickharris808/sparam-lint.git@main \
git+https://github.com/nickharris808/maxwell-lint.git@main \
.Два проверяющих являются отдельными пакетами и загружаются из своих собственных репозиториев; сервер — это . в конце. Подтвердите, что сервер отвечает через stdio, прежде чем подключать его к клиенту:
$ printf '%s\n%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"smoke","version":"0"}}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
| physics-lint-mcp | tail -1 | python3 -m json.tool | grep '"name"'
"name": "check_touchstone",
"name": "self_test",
"name": "check_screening",
"name": "pairwise_error",Ещё не на PyPI.
pip install physics-lint-mcp— это предполагаемая установка после публикации; до тех пор работает команда из трёх пакетов, приведённая выше.
Related MCP server: mcp-openems
Настройка
Claude Desktop / Cursor / любой MCP-клиент:
{
"mcpServers": {
"physics-lint": {
"command": "physics-lint-mcp"
}
}
}Готовый mcp.json поставляется с пакетом.
Инструменты
Инструмент | Аргументы | Что он отвечает |
|
| Является ли этот файл |
|
| Нарушает ли эта матрица связи потолок многочастичного экранирования? |
|
| Насколько ошибочен попарный экстрактор при этом коэффициенте экранирования? |
| нет | Продолжает ли проверяющий различать? |
Схемы, которые сервер рекламирует через tools/list, являются авторитетной версией этой таблицы, и тест подтверждает, что они согласуются.
Рабочий пример: агент, который не может обмануть сам себя
Сбой, который это предотвращает, конкретен. Агенту передают вендорский .s2p, спрашивают, закроется ли линия, и он бегло рассуждает о числах, описывающих сеть, которая не может существовать. Ничто в цикле не возражает, потому что у LLM нет способа отличить невозможную S-матрицу от правдоподобной.
Подключите сервер, и первое, что стоит сделать в сеансе, — попросить проверяющего доказать себя:
Вы: Прежде чем смотреть на модель, запустите
self_test.Агент: (вызывает
self_test) Батарея различает — пять сетей, построенных для нарушения одного закона каждая, были отклонены.
Теперь модель:
Вы: Проверьте
vendor/lna_stage.s2p.Агент: (вызывает
check_touchstoneсpath="vendor/lna_stage.s2p") Эта сеть физически не реализуема как пассивное устройство: она не проходит пассивность и сохранение энергии. Я не буду рассуждать на основе её значений.
Это последнее предложение — не осторожность агента; это поле interpretation, возвращаемое в результате, написанное для чтения моделью. Агент, получивший только {"passed": false}, часто продолжает действовать.
Две вещи, которые дизайн запрещает, и обе важнее, чем кажутся: агент не может исправить модель, потому что каждый инструмент доступен только для чтения; и он не может принять сбой за ошибку, потому что физический сбой возвращается как результат, а не как транспортная ошибка. Следующие три раздела — это эти два свойства в деталях, а третий — случай, который ударит вас первым.
Устранение неполадок
physics-lint-mcp: command not found — консольный скрипт не установился. Проверьте pip show physics-lint-mcp; если он там, каталог bin окружения не находится в PATH, что часто случается, когда клиент запускает сервер с другой оболочкой. Используйте абсолютный путь в mcp.json:
{"command": "/full/path/to/venv/bin/physics-lint-mcp"}.
Клиент показывает, что сервер не запустился — сначала запустите вручную тест stdio из быстрого старта. Это тот же путь кода без контроля клиента, поэтому трассировка видна.
No module named 'sparam_lint' — два проверяющих являются отдельными пакетами и не подтягиваются автоматически. Установите все три, как показано в быстром старте.
Вызов инструмента возвращает isError: true, и агент останавливается — это физический вердикт, а не сбой. Результат содержит нарушенные законы и интерпретацию; ваш агент должен их прочитать, а не считать вызов неудачным.
Вообще ничего не возвращается — сервер говорит на JSON-RPC через stdio, по одному объекту в строке. Клиент, который объединяет несколько объектов в одну строку или пишет без завершающего перевода строки, зависнет. Запрос initialize должен идти первым.
Список инструментов короче, чем таблица выше — вы используете более старую сборку. tools/list генерируется из тех же определений, против которых тестируется таблица, поэтому они не могут расходиться в пределах одной версии.
Что видит агент
Каждый результат содержит поле interpretation, написанное для чтения моделью, потому что агент действует на основе прозы, а не логического значения:
{
"physically_admissible": false,
"failed_laws": ["passivity", "energy_conservation"],
"interpretation": "This network is not physically realizable as a passive
device. Do not use it as a reference and do not reason from its values.
One legitimate exception: a non-reciprocal device such as a ferrite
isolator will correctly fail the reciprocity law by design."
}Это последнее предложение важно. Агент, которому сказали только «взаимность не выполнена», с готовностью «исправит» вполне хороший изолятор.
И в чистом результате интерпретация говорит, что вердикт не означает:
Все пять законов выполняются; сеть физически допустима. Обратите внимание, что это НЕ означает, что она точна — пассивная модель неправильной структуры проходит все законы здесь.
Каждый инструмент доступен только для чтения
Здесь ничто не записывает, не фабрикует и не исправляет модель. Агент, который мог бы молча исправить неисправную сеть, победил бы цель наличия оракула, поэтому отсутствие ввода-вывода обеспечивается тестом.
Физический сбой — это результат, а не ошибка
Файл, не прошедший законы, возвращает обычный результат с isError: true и полным вердиктом, а не ошибку транспортного уровня. Агенту нужно увидеть сбой, чтобы рассуждать о нём; непрозрачная ошибка протокола ничему его не учит.
Попробуйте без агента
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | physics-lint-mcpОбласть применения, честно
Эти инструменты проверяют физическую допустимость, а не точность. Пассивная модель совершенно неправильной структуры проходит все проверки. Это нижняя граница, а не замена проверки на полевом решении или измерении.
Остальная часть набора инструментов
Восемь артефактов, отвечающих на один вопрос в разных местах: возможна ли эта модель физически? Каждый из них — оценщик: он может сказать вам, что модель неверна; ни один не может сказать, что она верна.
Возможна ли S-параметрическая модель физически? Пять законов + отрицательный контроль. | |
Предсказывает ли экстрактор связи невозможную физику? Потолок экранирования k ≤ 1. | |
Знает ли модель, когда замолчать? Полнота воздержания, никогда не объединяется с точностью. | |
11 размеченных сетей с проверенной истиной. Оценивает оценщиков. | |
Сертифицированный результат невозможности + 27 контрпримеров. Проверяющий без зависимостей. | |
Те же проверки в вашем CI. | |
| Физический оракул, который может вызывать ваш ИИ-агент. |
Все три проверки, без установки, работает на стороне клиента. |
Эти инструменты оценивают модель. Создание модели, которая является пассивной по построению — так что она не может провалить эти законы независимо от своих параметров — и точной на скорости в многочастичном режиме, с калиброванным воздержанием и сертификатом подписания с закрытием при сбое, является коммерческим ядром: ChipletOS.
Лицензия
Apache-2.0. См. LICENSE; авторские права в NOTICE.
Сертификат подписания и синтез пассивности по построению, вместе с которыми были написаны эти инструменты, являются закрытым ядром ChipletOS.
Вклад
Одно не подлежащее обсуждению правило здесь: каждый инструмент остаётся доступным только для чтения — агент, который мог бы молча исправить неисправную модель, победил бы цель наличия оракула. В CONTRIBUTING.md есть подробности. Каждый родственный репозиторий заявляет своё собственное, и они различаются — это намеренно, и именно поэтому каждый заслуживает доверия на своих условиях.
Цитирование
CITATION.cff машиночитаем; GitHub отображает кнопку «Cite this repository» на его основе.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI-callable calculators and engineering models with real formulas. No hallucinated math.
Verifiable Earth ground truth for AI agents: water, hazard, ground stability, resource, with proof.
MERCATOR Verify: evidence-backed verification and decision support for autonomous agents.
Decision-assurance for AI agents: an auditable action boundary + receipt before it acts.
Related MCP Servers
- AlicenseAqualityAmaintenancePhysBound is a specialized "Physics Linter" for AI that deterministically validates RF and thermodynamic claims against hard physical limits, preventing hallucinations in engineering workflows.62MIT
- AlicenseAqualityAmaintenanceEnables AI-assisted design of antennas and electromagnetic structures using openEMS FDTD simulation, with analytical dimension calculators and full-wave script generation.161AGPL 3.0
- AlicenseCqualityBmaintenanceEnables engineers to convert antenna papers/diagrams and natural language specs into auditable, versionable HFSS Python modeling code, with optional simulation and parametric optimization.22MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to design RF filters and SMPS-EMC from spec using three MCP servers that drive LTspice, Qucs-S, and scikit-rf, with closed-form synthesis, real-component optimization, and CISPR-aware compliance checking.2AGPL 3.0