GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Beschreibung vom Entwickler (englisches Original)
MCP server for Ocean Insight / Ocean Optics spectrometers (python-seabreeze).
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
LABMCP_ADDRESS, LABMCP_SIMULATE, LABMCP_READ_ONLY, LABMCP_LIMITSDu brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"labmcp-ocean-spectrometer": {
"command": "uvx",
"args": [
"labmcp-ocean-spectrometer"
],
"env": {
"LABMCP_ADDRESS": "your-value",
"LABMCP_SIMULATE": "your-value",
"LABMCP_READ_ONLY": "your-value",
"LABMCP_LIMITS": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add labmcp-ocean-spectrometer --env LABMCP_ADDRESS=your-value --env LABMCP_SIMULATE=your-value --env LABMCP_READ_ONLY=your-value --env LABMCP_LIMITS=your-value -- uvx labmcp-ocean-spectrometerTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"labmcp-ocean-spectrometer": {
"command": "uvx",
"args": [
"labmcp-ocean-spectrometer"
],
"env": {
"LABMCP_ADDRESS": "your-value",
"LABMCP_SIMULATE": "your-value",
"LABMCP_READ_ONLY": "your-value",
"LABMCP_LIMITS": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"labmcp-ocean-spectrometer": {
"type": "stdio",
"command": "uvx",
"args": [
"labmcp-ocean-spectrometer"
],
"env": {
"LABMCP_ADDRESS": "your-value",
"LABMCP_SIMULATE": "your-value",
"LABMCP_READ_ONLY": "your-value",
"LABMCP_LIMITS": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
LABMCP_ADDRESS envLABMCP_SIMULATE envLABMCP_READ_ONLY envLABMCP_LIMITS envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto K-Dense-AI bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.2) kam vor 43 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: GitHub, Desktop Commander, Cloudflare MCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Let an AI agent acquire spectra, set or auto-tune the integration time, store dark and reference spectra, and measure absorbance and transmittance with peak positions and FWHM on Ocean Insight (Ocean Optics) spectrometers. It works through the open-source python-seabreeze library.
| Package | labmcp-ocean-spectrometer |
| Instruments | Every model python-seabreeze supports: USB2000+, USB2000, USB4000, USB650, Flame-S, Flame-NIR/X, HR2000/HR2000+, HR4000, Maya2000/Pro/LSL, QE65000, QE Pro, STS, NIRQuest256/512, Jaz, Torus, Spark, Apex, Ventana, HDX, ADC1000-USB, HR2/4/6, SR2/4/6, ST-VIS (support table; some models need a specific backend) |
| Interfaces | USB |
| Protocol | python-seabreeze 2.x (docs, source), which implements Ocean's SeaBreeze (OOI / OBP USB protocols). TEC details: Ocean QE Pro Installation and Operation Manual, MNL-0000 |
| Status | 🧪 simulated: tested against a physically modelled fake spectrometer with the seabreeze Spectrometer interface, not yet verified on hardware. Report a hardware test |
uvx labmcp-ocean-spectrometer --simulate --check
uvx labmcp-ocean-spectrometer --simulate --option sim_source=hg-ar --check # Hg-Ar calibration lamp uvx labmcp-ocean-spectrometer --simulate --option sim_model=QE-PRO --check # TE-cooled, 1044 pixels
The simulator models a USB2000+ (or QE Pro) looking at a tungsten-halogen lamp, a white LED or a Hg-Ar lamp. It includes shot and read noise, dark offset and dark current, electric-dark pixels, detector nonlinearity, saturation, and the stale first spectrum after an integration-time change. In simulation a "virtual user" blocks the beam before store_dark_reference, inserts a blank before store_reference, and inserts a dye sample (absorbance band at 520 nm, 0.8 AU) before measure_absorbance/measure_transmittance. With real hardware your scientist does these steps.
uvx --from seabreeze seabreeze_os_setup # or, inside the environment: seabreeze_os_setup
/etc/udev/rules.d/10-oceanoptics.rules, needs sudo). Re-plug the spectrometer afterwards.pyseabreeze backend also needs libusb-1.0.dll (see the seabreeze README). uvx labmcp-ocean-spectrometer --check # the only connected spectrometer
uvx labmcp-ocean-spectrometer --address USB2+H01234 --check # choose by serial number uvx labmcp-ocean-spectrometer --option backend=pyseabreeze --check
`--address` is the spectrometer's **serial number** and is only needed when several are connected (`list_spectrometers` shows them). The default backend is `cseabreeze` (compiled libseabreeze); if it can't load, seabreeze falls back to the pure-Python `pyseabreeze` (pyusb).
On connect the server sets the integration time to 10 ms (--option integration_ms=…), clamped to the device range. It has to set it, because seabreeze cannot read the integration time back.
Claude Code
claude mcp add spectrometer -- uvx labmcp-ocean-spectrometer
Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)
{
"mcpServers": { "spectrometer": { "command": "uvx", "args": ["labmcp-ocean-spectrometer", "--address", "USB2+H01234"] } } }
Add --read-only to allow acquisitions and absorbance measurements with the present settings while blocking integration-time changes, reference storage and TEC control. For other clients, generate the snippet with uvx labmcp config ocean-spectrometer --client vscode (also cursor, codex, claude-code).
| Tool | Kind | Description |
|---|---|---|
acquire_spectrum | 👁 read | Acquire an intensity spectrum (raw counts) with optional averaging, boxcar smoothing and corrections. Returns downsampled (wavelength, counts), summary statistics, the most prominent peaks with FWHM, and a saturation check; save_path writes the full spectrum to a new .csv file (an existing file is never overwritten). |
auto_integration_time | 🎛 control | Adjust the integration time until the brightest raw pixel (optionally within a wavelength window) is within the target band of saturation (default 70-85 %). Stays within the device limits and the max_integration_time_ms safety limit. Re-take dark/reference afterwards. |
detector_cooling_off | 🛑 safety | Switch the detector thermo-electric cooler off (the detector warms to ambient). Does nothing on spectrometers without a TEC. |
find_peaks | 👁 read | Find peaks (or dips) with position, height, prominence and FWHM in the most recent spectrum (intensity, absorbance or transmittance). Acquires a fresh intensity spectrum if none has been taken yet. |
get_command_log | 👁 read | Return the most recent raw commands sent to / replies received from the instrument (newest last). Useful for debugging and for recording what was done. |
get_connection_info | 👁 read | Report which instrument is connected (identity, address, simulated or real), whether the server is read-only, and the active safety limits. Call this first. |
get_device_info | 👁 read | Model, serial, pixel count, wavelength range, integration-time limits, saturation level, supported corrections, TEC presence, and which dark/reference spectra are stored. |
list_spectrometers | 👁 read | List the Ocean spectrometers seabreeze can see (model, serial number, whether open) and which one this server is connected to. Use a serial number as --address to pick one. |
measure_absorbance | 👁 read | Measure the absorbance spectrum A = -log10((S - D) / (R - D)) of the sample now in the beam, using the stored dark D and reference R (same settings). Ask the user to insert the sample first. Also returns values at wavelengths_nm and the absorbance maxima. |
measure_transmittance | 👁 read | Measure the transmittance spectrum %T = 100 (S - D) / (R - D) of the sample now in the beam, using the stored dark and reference. Ask the user to insert the sample first. Also returns values at wavelengths_nm and the deepest transmission dips. |
read_detector_temperature | 👁 read | Read the detector temperature from the thermo-electric cooler (TE-cooled models such as the QE Pro, when seabreeze exposes the thermo_electric feature for them). |
reconnect | 🛑 safety | Close and re-open the connection to the instrument (e.g. after it was power cycled or a cable was re-plugged). |
set_detector_cooling | ⚠️ hazard | Enable the detector thermo-electric cooler at setpoint_c (TE-cooled models only). The detector takes minutes to settle; dark current (and noise) drops as it cools. The TEC can only cool to roughly 15-40 °C below ambient (QE Pro manual). Checked against min_tec_setpoint_c. |
set_integration_time | 🎛 control | Set the detector integration time (ms), within the device limits from get_device_info. Stored dark/reference spectra become unusable until re-taken at the new time. |
store_dark_reference | 🎛 control | Record and store a DARK spectrum (kept in memory) for absorbance/transmittance. BEFORE calling, ask the user to BLOCK THE LIGHT PATH (close the shutter, switch the lamp off or cap the fiber) and wait for confirmation. Uses the present integration time. |
store_reference | 🎛 control | Record and store the REFERENCE (100 % transmission) spectrum in memory. BEFORE calling, ask the user to put the BLANK (solvent-filled or empty cuvette) in the beam with the light on, and wait for confirmation. Use the same settings as the dark. |
get_connection_info, get_command_log and reconnect are built into every LabMCP server.
| Limit | Default | Meaning |
|---|---|---|
max_integration_time_ms | 10000 ms | Longest integration time an agent may set (also caps auto_integration_time) |
max_acquisition_duration_s | 300 s | Longest single acquisition (scans × integration time) |
min_tec_setpoint_c | −20 °C | Coldest TEC setpoint (TE-cooled models). The QE Pro's temperature readback is linearised for −20…40 °C |
Override at launch: --limit max_integration_time_ms=60000. Whatever the limits say, one acquisition (scans × integration time, plus the spectrum discarded after an integration-time change) must fit in 540 s, the time one tool call may take; auto_integration_time stops early for the same reason and says so.
max_intensity. Saturated pixels are flagged, and they're excluded from absorbance/transmittance (with boxcar smoothing, so are the pixels within the boxcar half width of them). seabreeze notes that some detectors saturate below max_intensity, so keep peaks at 70–85 %.correct_dark_counts subtracts the mean of the optically masked electric-dark pixels; correct_nonlinearity applies the EEPROM polynomial. The driver reads raw spectra and applies both corrections with the same formula as seabreeze.spectrometers.Spectrometer.intensities, so saturation can still be detected on raw data. A stored dark (store_dark_reference) is still required for absorbance, because electric-dark correction doesn't remove fixed-pattern dark signal.null. The dark, reference and sample must share integration time, boxcar and corrections; the server enforces this and asks you to re-take references when they differ.boxcar_half_width = pixels averaged on each side. Peaks are found on the full-resolution spectrum. The returned curve is bin-averaged down to max_points.thermo_electric feature (enable_tec, set_temperature_setpoint_degrees_celsius, read_temperature_degrees_celsius) and only work when the backend exposes it for your model. In pyseabreeze 2.11 that is only the NIRQuest512. For the QE ProNur der Anfang wird gezeigt; den Rest findest du im Repo