The useful design choice is vision_update_config: the key, model and endpoint are all changeable at runtime, so switching providers is a tool call rather than an edit-and-restart. vision_get_config masks the key when it shows the configuration, which matters because the model reads that output too.
An MCP server that sends images to an external, OpenAI-compatible vision service and returns a text description. It exists so a text-only model can answer questions about a picture.
- vision_analyze — describe one or more images, from absolute local paths or public URLs, with a prompt of your own
- Common raster formats accepted, with a per-call limit on how many images and how large each may be
- vision_get_config — show the current service configuration, with the key masked
- vision_update_config — change the key, the model or the service address at runtime, without restarting
- Any OpenAI-compatible vision endpoint works, so the provider is your choice
Node, and a key for a vision service. The key can be set through the configuration tool, or passed in the environment if you would rather it never touched disk. The service address and model default to one provider and can be pointed at any compatible one.
One command plus a key — npx -y @guorui99/vision-mcp, then supply credentials
