Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Vision tools for coding agents: screenshots, OCR, UI diffs, errors, tables, and charts.
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.
OCULAR_BASE_URL, OCULAR_API_KEY, OCULAR_MODELAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du 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": {
"ocular": {
"command": "npx",
"args": [
"-y",
"ocular-mcp"
],
"env": {
"OCULAR_BASE_URL": "your-value",
"OCULAR_API_KEY": "your-value",
"OCULAR_MODEL": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add ocular --env OCULAR_BASE_URL=your-value --env OCULAR_API_KEY=your-value --env OCULAR_MODEL=your-value -- npx -y ocular-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"ocular": {
"command": "npx",
"args": [
"-y",
"ocular-mcp"
],
"env": {
"OCULAR_BASE_URL": "your-value",
"OCULAR_API_KEY": "your-value",
"OCULAR_MODEL": "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": {
"ocular": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ocular-mcp"
],
"env": {
"OCULAR_BASE_URL": "your-value",
"OCULAR_API_KEY": "your-value",
"OCULAR_MODEL": "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.
Diese 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 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto xyun1996 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.
Das musst du eintragen: OCULAR_BASE_URL, OCULAR_API_KEY, OCULAR_MODEL
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.0) kam vor 3 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Intervals MCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Remote MCP server for intervals.icu run data and analysis
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.
Vision for coding agents.
ocular is an MCP server that lets text-first coding agents analyze screenshots, UI mockups, terminal errors, documents, tables, and charts through OpenAI-compatible vision models.
It is designed for both local stdio use and remote HTTP deployments. For remote agents, image bytes can travel through a binary upload side channel while MCP tool calls carry only a lightweight file_id, avoiding large inline base64 payloads.
Project status: early-stage and actively evolving. Feedback, bug reports, integrations, and real-world usage reports are welcome.
Coding agents are good at reading source code but often lose context when the important evidence is visual: a broken layout, a terminal screenshot, an error dialog, a chart, or a design reference.
ocular turns those visual inputs into structured data an agent can reason about.
PUT /upload flow for large images with content-addressed file_id references.flowchart LR
A[Coding agent] -->|MCP tool call| B[ocular] C[Image / screenshot] -->|binary upload or base64| B B -->|OpenAI-compatible request| D[Vision model] D -->|multimodal response| B B -->|structured JSON| A
For remote HTTP deployments, the recommended path is:
image bytes -> PUT /upload -> file_id -> MCP vision tool -> structured result
See Architecture for the upload and caching model.
Want to see the full handoff from screenshot to coding-agent evidence? Read the end-to-end demo.
It walks through a remote image upload, a diagnose_error_screenshot call, the structured fields returned to the agent, and how that evidence is combined with repository context. Example model output is explicitly marked representative rather than presented as a benchmark.
The published npm package is ocular-mcp. It installs the CLI command ocular.
Global install:
npm install -g ocular-mcp
Or run it without a global install:
npx -y ocular-mcp
To build from source instead:
git clone https://github.com/xyun1996/ocular.git
cd ocular npm install npm run build
ocular requires an OpenAI-compatible multimodal endpoint, API key, and model name:
OCULAR_BASE_URL=https://your-openai-compatible-endpoint.example/v1
OCULAR_API_KEY=your_api_key OCULAR_MODEL=your_vision_model
For a local compatible endpoint, use that server's base URL and vision-capable model name. Compatibility depends on the endpoint/model combination; see Provider compatibility for the reproducible smoke-test procedure and verified configurations.
With a global install:
ocular
Or:
npx -y ocular-mcp
The server communicates over stdio, so it may appear idle when started directly. In normal use an MCP client launches it and exchanges protocol messages over stdin/stdout.
Claude Code example:
claude mcp add ocular \
-e OCULAR_BASE_URL=https://your-openai-compatible-endpoint.example/v1 \ -e OCULAR_MODEL=your_vision_model \ -e OCULAR_API_KEY=your_api_key \ -- npx -y ocular-mcp
Avoid putting long-lived API keys directly in shell history on shared machines. Use your client's environment/secret-management mechanism when available.
For a generic MCP client:
{
"mcpServers": { "ocular": { "command": "npx", "args": ["-y", "ocular-mcp"], "env": { "OCULAR_BASE_URL": "https://your-openai-compatible-endpoint.example/v1", "OCULAR_MODEL": "your_vision_model", "OCULAR_API_KEY": "your_api_key" } } } }
See Claude Code setup for a fuller walkthrough.
Ask your coding agent to inspect an error screenshot and extract the exact message, likely cause, and next checks.
{
"file_id": "e21ba723...", "task": "Extract the exact error and suggest the next debugging checks", "project_context": "Node.js TypeScript project" }
Use analyze_ui_screenshot to turn a screenshot into implementation-oriented observations about hierarchy, alignment, spacing, typography, contrast, and likely visual defects.
Use compare_ui_screenshots with a reference screenshot and an implementation screenshot to identify regressions and layout differences.
See Screenshot debugging example.
| Tool | Purpose |
|---|---|
analyze_image | General structured image analysis |
extract_text_from_image | OCR with reading-order/layout awareness |
analyze_ui_screenshot | UI hierarchy, spacing, typography and accessibility review |
diagnose_error_screenshot | Extract and diagnose terminal/browser/build errors |
compare_ui_screenshots | Compare reference and implementation screenshots |
extract_table_from_image | Extract table data into structured output |
analyze_chart_image | Analyze chart labels, values, trends and uncertainty |
create_upload_session | Return upload endpoint and instructions for remote clients |
Every vision tool accepts file_id; local workflows can also use inline image_base64 where appropriate.
Set HTTP transport and authentication:
MCP_TRANSPORT=http
MCP_HTTP_HOST=127.0.0.1 MCP_HTTP_PORT=3000 MCP_HTTP_PATH=/mcp MCP_AUTH_TOKEN=replace_with_a_long_random_token MCP_AUTH_HEADER=authorization MCP_AUTH_SCHEME=Bearer
Upload raw bytes:
curl --request PUT \
--data-binary @/path/to/image.png \ "https://your.host/upload" \ -H "Content-Type: image/png" \ -H "Authorization: Bearer your_mcp_auth_token"
The server returns a content-addressed file_id; pass that id to a vision tool instead of sending a large base64 string through MCP.
For reverse proxy and systemd examples, see Deployment.
Common variables:
| Variable | Purpose |
|---|---|
OCULAR_BASE_URL | OpenAI-compatible API base URL |
OCULAR_API_KEY | Provider API key |
OCULAR_MODEL | Vision-capable model name |
OCULAR_HEADERS | Optional custom provider headers as JSON |
OCULAR_TEMPERATURE | Generation temperature |
OCULAR_MAX_TOKENS | Maximum generated tokens |
OCULAR_TIMEOUT_MS | Provider timeout |
OCULAR_MAX_IMAGE_MB | Maximum image size |
OCULAR_CACHE_ENABLED | Enable result cache |
OCULAR_CACHE_DIR | Cache directory |
OCULAR_UPLOADS_DIR | Persistent upload directory |
OCULAR_UPLOAD_URL_BASE | Public base URL used in upload instructions |
See .env.example for the full configuration surface.
Provider compatibility claims are based on real endpoint/model smoke tests, not on API naming alone. See Provider compatibility.
The repository also includes synthetic, redistributable visual fixtures for repeatable project-level measurements. See Benchmark fixtures. The benchmark measures execution, structural JSON output, and timing; it is not presented as a broad model-quality ranking.
npm install
npm run build npm test npm run check npm run dev
The repository includes tests for authentication, caching, image handling, MCP server behavior, provider payloads, tool execution, npm packaging, Registry metadata consistency, and release smoke checks.
Do not commit provider API keys or MCP authentication tokens. Public HTTP deployments should sit behind HTTPS and a reverse proxy; the Node process should generally bind to a private interface.
See SECURITY.md for vulnerability reporting guidance.
Near-term areas where contributions are useful:
If you are using ocular in a real workflow, open a Usage report issue describing the client, provider/model, and use case. Public reports are useful even when nothing is broken and help keep compatibility/adoption claims grounded in real usage.
Contributions are welcome. Start with CONTRIBUTING.md, run npm run check before opening a PR, and include reproduction details for behavior changes.
The npm package is ocular-mcp; the installed CLI is ocular. Release automation uses npm Trusted Publishing rather than a long-lived repository token. See Publishing.
ocular is published in the official MCP Registry as io.github.xyun1996/ocular. See MCP Registry for the live identity and release flow.
MIT — see LICENSE.
If ocular is useful in your agent workflow, a GitHub star helps other developers discover the project.