physics-lint-mcp
physics-lint-mcp
📖 Dokumentationsseite — die Portfolio-Erzählung, die Konzepte, ein vollständiger Durchlauf und was das alles beweist (und was nicht).
Ein Physik-Orakel, das Ihr KI-Agent nicht überreden kann.
Ein LLM hat keine Möglichkeit, eine physikalisch unmögliche S-Parameter-Matrix von einer plausiblen zu unterscheiden — beide sind nur Zahlen. Übergeben Sie einem Agenten ein erfundenes Modell, und es wird selbstbewusst darüber argumentieren, es zitieren und darauf aufbauen. Nichts in der Schleife widerspricht.
Diese MCP-Tools geben dem Agenten Grundwahrheiten aus der linearen Algebra, statt aus seinem eigenen Urteilsvermögen.
30-Sekunden-Schnellstart
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 \
.Die beiden Prüfer sind separate Pakete und werden aus ihren eigenen Repositories geholt; der Server ist das . am Ende. Bestätigen Sie, dass der Server über stdio antwortet, bevor Sie ihn in einen Client einbinden:
$ 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",Noch nicht auf PyPI.
pip install physics-lint-mcpist die vorgesehene Installation, sobald veröffentlicht; bis dahin funktioniert der Drei-Pakete-Befehl oben.
Related MCP server: mcp-openems
Konfigurieren
Claude Desktop / Cursor / jeder MCP-Client:
{
"mcpServers": {
"physics-lint": {
"command": "physics-lint-mcp"
}
}
}Eine fertige mcp.json wird mit dem Paket geliefert.
Tools
Tool | Argumente | Was es beantwortet |
|
| Ist diese |
|
| Verletzt diese Kopplungsmatrix die Obergrenze für Vielteilchen-Abschirmung? |
|
| Wie falsch ist ein paarweiser Extraktor bei diesem Abschirmfaktor? |
| keine | Unterscheidet der Prüfer weiterhin? |
Die Schemas, die der Server über tools/list anbietet, sind die maßgebliche Version dieser Tabelle, und ein Test stellt sicher, dass beide übereinstimmen.
Ein durchgearbeitetes Beispiel: ein Agent, der sich selbst nicht täuschen kann
Der Fehler, den dies verhindert, ist spezifisch. Ein Agent erhält eine Hersteller-.s2p, wird gefragt, ob die Verbindung zustande kommt, und argumentiert flüssig über Zahlen, die ein Netzwerk beschreiben, das nicht existieren kann. Nichts in der Schleife widerspricht, weil ein LLM keine Möglichkeit hat, eine unmögliche S-Matrix von einer plausiblen zu unterscheiden.
Binden Sie den Server ein, und das Erste, was sich in einer Sitzung lohnt, ist, den Prüfer zu bitten, sich selbst zu beweisen:
Sie: Bevor wir uns das Modell ansehen, führen Sie
self_testaus.Agent: (ruft
self_testauf) Die Batterie unterscheidet — fünf Netzwerke, die jeweils ein Gesetz verletzen, wurden alle abgelehnt.
Jetzt das Modell:
Sie: Prüfen Sie
vendor/lna_stage.s2p.Agent: (ruft
check_touchstonemitpath="vendor/lna_stage.s2p"auf) Dieses Netzwerk ist als passives Gerät nicht physikalisch realisierbar: Es verletzt Passivität und Energieerhaltung. Ich werde nicht aus seinen Werten argumentieren.
Dieser letzte Satz ist nicht der Agent, der vorsichtig ist — es ist das interpretation-Feld, das im Ergebnis zurückkommt, geschrieben für ein Modell zum Lesen. Ein Agent, der nur {"passed": false} erhält, macht oft weiter.
Zwei Dinge, die das Design verbietet, und beide sind wichtiger, als sie aussehen: Der Agent kann das Modell nicht reparieren, weil jedes Tool schreibgeschützt ist; und er kann einen Fehler nicht mit einem Absturz verwechseln, weil ein physikalischer Fehler als Ergebnis zurückkommt und nicht als Transportfehler. Die nächsten drei Abschnitte sind diese beiden Eigenschaften im Detail, und der dritte ist der Fall, der Sie zuerst beißen wird.
Fehlerbehebung
physics-lint-mcp: Befehl nicht gefunden — das Konsolenskript wurde nicht installiert. Überprüfen Sie pip show physics-lint-mcp; wenn es da ist, ist das bin-Verzeichnis der Umgebung nicht im PATH, was häufig vorkommt, wenn ein Client den Server mit einer anderen Shell startet. Verwenden Sie den absoluten Pfad in mcp.json:
{"command": "/full/path/to/venv/bin/physics-lint-mcp"}.
Der Client zeigt den Server als fehlgeschlagenen Start an — führen Sie zuerst den stdio-Smoke-Test aus dem Schnellstart von Hand aus. Es ist derselbe Codepfad ohne die Überwachung des Clients, sodass der Traceback sichtbar ist.
No module named 'sparam_lint' — die beiden Prüfer sind separate Pakete und werden nicht automatisch mitgezogen. Installieren Sie alle drei, wie der Schnellstart zeigt.
Ein Toolaufruf gibt isError: true zurück und der Agent stoppt — das ist ein physikalisches Urteil, kein Fehler. Das Ergebnis enthält die verletzten Gesetze und eine Interpretation; Ihr Agent sollte sie lesen, statt den Aufruf als fehlgeschlagen zu behandeln.
Es kommt überhaupt nichts zurück — der Server spricht JSON-RPC über stdio, ein Objekt pro Zeile. Ein Client, der mehrere Objekte in einer Zeile bündelt oder ohne abschließenden Zeilenumbruch schreibt, hängt. Die initialize-Anfrage muss zuerst kommen.
Die Tool-Liste ist kürzer als die obige Tabelle — Sie führen eine ältere Version aus. tools/list wird aus denselben Definitionen generiert, gegen die die Tabelle getestet wird, sodass sie innerhalb einer Version nicht abweichen können.
Was der Agent sieht
Jedes Ergebnis enthält ein interpretation-Feld, das für ein Modell zum Lesen geschrieben ist, weil ein Agent auf Prosa handelt, nicht auf einem booleschen Wert:
{
"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."
}Dieser letzte Satz ist wichtig. Ein Agent, dem nur "Reziprozität fehlgeschlagen" gesagt wird, wird hilfreich einen einwandfreien Isolator "reparieren".
Und bei einem sauberen Ergebnis sagt die Interpretation, was das Urteil nicht bedeutet:
Alle fünf Gesetze gelten; das Netzwerk ist physikalisch zulässig. Beachten Sie, dass dies NICHT bedeutet, dass es genau ist — ein passives Modell der falschen Struktur besteht hier jedes Gesetz.
Jedes Tool ist schreibgeschützt
Nichts hier schreibt, erfindet oder repariert ein Modell. Ein Agent, der ein fehlschlagendes Netzwerk stillschweigend patchen könnte, würde den Zweck eines Orakels zunichtemachen, daher wird das Fehlen von I/O durch einen Test erzwungen.
Ein physikalischer Fehler ist ein Ergebnis, kein Fehler
Eine Datei, die die Gesetze nicht besteht, gibt ein normales Ergebnis mit isError: true und dem vollständigen Urteil zurück, statt eines Transportfehlers. Der Agent muss den Fehler sehen, um darüber zu argumentieren; ein undurchsichtiger Protokollfehler lehrt ihn nichts.
Probieren Sie es ohne Agenten aus
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | physics-lint-mcpUmfang, ehrlich
Diese Tools verifizieren physikalische Zulässigkeit, nicht Genauigkeit. Ein passives Modell einer völlig falschen Struktur besteht jede Prüfung. Sie sind eine Untergrenze, kein Ersatz für die Validierung gegen eine Feldsimulation oder Messung.
Der Rest des Werkzeugkastens
Acht Artefakte, die eine Frage an verschiedenen Orten beantworten: Ist dieses Modell physikalisch möglich? Jedes ist ein Bewerter — es kann Ihnen sagen, dass ein Modell falsch ist; keines kann Ihnen sagen, dass eines richtig ist.
Ist ein S-Parameter-Modell physikalisch möglich? Fünf Gesetze + eine Negativkontrolle. | |
Sagt ein Kopplungsextraktor unmögliche Physik voraus? Abschirmungsgrenze k ≤ 1. | |
Weiß ein Modell, wann es schweigen soll? Enthaltungs-Recall, nie mit Genauigkeit gepoolt. | |
11 beschriftete Netzwerke mit verifizierter Grundwahrheit. Bewertet die Bewerter. | |
Ein zertifiziertes Unmöglichkeitsergebnis + 27 Gegenbeispiele. Verifizierer ohne Abhängigkeiten. | |
Dieselben Prüfungen, in Ihrer CI. | |
| Ein Physik-Orakel, das Ihr KI-Agent aufrufen kann. |
Alle drei Prüfungen, keine Installation, läuft clientseitig. |
Diese Tools bewerten ein Modell. Eines zu erzeugen, das konstruktionsbedingt passiv ist — sodass es diese Gesetze unabhängig von seinen Parametern nicht verletzen kann — und das im Vielteilchen-Regime schnell und genau ist, mit kalibrierter Enthaltung und einem Fail-Closed-Freigabezertifikat, ist der kommerzielle Kern: ChipletOS.
Lizenz
Apache-2.0. Siehe LICENSE; Urheberrecht in NOTICE.
Das Freigabezertifikat und die passiv-durch-Konstruktion-Synthese, für die diese Tools geschrieben wurden, sind der geschlossene Kern von ChipletOS.
Mitwirken
Eine nicht verhandelbare Regel hier: Jedes Tool bleibt schreibgeschützt — ein Agent, der ein fehlschlagendes Modell stillschweigend patchen könnte, würde den Zweck eines Orakels zunichtemachen. CONTRIBUTING.md enthält die Details. Jedes Schwester-Repository legt seine eigenen fest, und sie unterscheiden sich — das ist beabsichtigt, und deshalb ist jedes für sich vertrauenswürdig.
Zitieren
CITATION.cff ist maschinenlesbar; GitHub rendert daraus einen "Dieses Repository zitieren"-Button.
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