ocular
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OCULAR_MODEL | Yes | Vision-capable model name | |
| MCP_HTTP_HOST | No | HTTP host binding | 127.0.0.1 |
| MCP_HTTP_PATH | No | HTTP path for MCP endpoint | /mcp |
| MCP_HTTP_PORT | No | HTTP port | 3000 |
| MCP_TRANSPORT | No | Transport mode (stdio or http) | stdio |
| MCP_AUTH_TOKEN | No | Auth token for HTTP transport | |
| OCULAR_API_KEY | Yes | Provider API key | |
| OCULAR_HEADERS | No | Optional custom provider headers as JSON | |
| MCP_AUTH_HEADER | No | Auth header name | authorization |
| MCP_AUTH_SCHEME | No | Auth scheme (e.g., Bearer) | Bearer |
| OCULAR_BASE_URL | Yes | OpenAI-compatible API base URL | |
| OCULAR_CACHE_DIR | No | Cache directory | |
| OCULAR_MAX_TOKENS | No | Maximum generated tokens | |
| OCULAR_TIMEOUT_MS | No | Provider timeout | |
| OCULAR_TEMPERATURE | No | Generation temperature | |
| OCULAR_UPLOADS_DIR | No | Persistent upload directory | |
| OCULAR_MAX_IMAGE_MB | No | Maximum image size | |
| OCULAR_CACHE_ENABLED | No | Enable result cache | |
| OCULAR_UPLOAD_URL_BASE | No | Public base URL used in upload instructions |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| analyze_imageB | Analyze a general image and return structured JSON for a coding agent. |
| extract_text_from_imageB | Extract OCR text from screenshots, documents, tables, terminal output, or code images. |
| analyze_ui_screenshotB | Analyze a webpage, app, UI, or design mockup screenshot for frontend implementation work. |
| diagnose_error_screenshotA | Analyze error, terminal, console, browser, or build failure screenshots. |
| compare_ui_screenshotsB | Compare two UI screenshots and return implementation-useful visual differences. |
| extract_table_from_imageC | Extract visible table data from an image as structured JSON, Markdown, or CSV-oriented output. |
| analyze_chart_imageB | Analyze a chart image and return labels, trends, approximate values, and limitations. |
| create_upload_sessionA | Returns upload instructions for the binary side channel (use this to analyze LOCAL image files without base64 corruption). Before uploading, verify the local file exists and is non-empty with Bash (e.g. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Most tools have clear, distinct purposes (OCR, UI analysis, chart analysis, etc.), but analyze_image serves as a general fallback and could overlap with specialized tools like analyze_ui_screenshot or analyze_chart_image if an agent picks poorly. The descriptions are specific enough to guide selection in most cases.
All tool names follow a consistent verb_noun pattern using snake_case: analyze_image, extract_text_from_image, compare_ui_screenshots, etc. This consistency makes it easy to predict what a tool does based on its name.
With 8 tools, the set is well-scoped for an image analysis server. Each tool serves a distinct purpose, and the count is neither too sparse nor overwhelming.
The tool set covers a broad range of image analysis needs for coding agents: general analysis, OCR, UI analysis, error screenshots, table extraction, chart analysis, and image comparison. The inclusion of an upload session tool addresses local file handling, filling the only potential gap.