返回市场
视觉MCP服务器

视觉MCP服务器

作者:yaonyan18 星标更新:2025-11-14

项目介绍

GPT-Vis MCP Server

一个本地/私有优先的封装器用于 antvis/mcp-server-chart,可以在本地生成图表,无需外部服务器依赖。

License: MIT npm version MCP

✨ 特性

  • 🔒 私有且安全:本地图表生成,无外部依赖
  • 🚀 简易设置:单命令安装到Claude Desktop
  • 🎨 丰富的图表类型:超过20种图表类型(饼图、折线图、柱状图、雷达图、地图等)
  • 📊 企业级准备:适用于安全环境

🚀 使用方法

Claude Desktop(推荐)

在你的Claude Desktop MCP设置中添加:

选项 1:NPX(推荐)

{
  "mcpServers": {
    "gpt-vis-mcp": {
      "command": "npx",
      "args": ["-y", "@jsr2npm/yao__gpt-vis-mcp@latest"]
    }
  }
}

选项 2:Deno 直接

{
  "mcpServers": {
    "gpt-vis-mcp": {
      "command": "deno",
      "args": ["run", "--allow-all", "@yao/gpt-vis-mcp/bin"]
    }
  }
}

选项 3:NPX + Deno

{
  "mcpServers": {
    "gpt-vis-mcp": {
      "command": "npx",
      "args": ["-y", "deno", "run", "--allow-all", "@yao/gpt-vis-mcp/bin"]
    }
  }
}

image

使用npx时可能会遇到canvas依赖问题和字体渲染问题。如果出现这些问题,请尝试选项 4。

选项 4:Docker

{
  "mcpServers": {
    "gpt-vis-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--interactive",
        "--rm",
        "-v",
        "/tmp/gpt-vis-charts:/tmp/gpt-vis-charts",
        "ghcr.io/yaonyan/gpt-vis-mcp:latest-mcp"
      ]
    }
  }
}

直接命令行使用

你也可以通过各种传输模式直接运行服务器:

# 使用JSR包(推荐)
# 默认stdio模式(适用于MCP客户端)
deno run --allow-all @yao/gpt-vis-mcp/bin

# SSE服务器模式
deno run --allow-all @yao/gpt-vis-mcp/bin --transport sse --port 3000 --host localhost

# 简短形式
deno run --allow-all @yao/gpt-vis-mcp/bin -t sse -p 3000 -h localhost

# 显示帮助
deno run --allow-all @yao/gpt-vis-mcp/bin --help
# 替代方案:使用npx与deno
# 默认stdio模式
npx -y deno run --allow-all @yao/gpt-vis-mcp/bin

# SSE服务器模式
npx -y deno run --allow-all @yao/gpt-vis-mcp/bin --transport sse --port 3000

# 显示帮助
npx -y deno run --allow-all @yao/gpt-vis-mcp/bin --help

传输模式:

  • stdio:通过stdin/stdout直接进行MCP协议通信(默认)
  • sse:为web客户端提供Server-Sent Events HTTP服务器

Docker与SSE模式

# 运行SSE服务器
docker run -p 3000:3000 ghcr.io/yaonyan/gpt-vis-mcp:latest-mcp --transport sse --port 3000 --host 0.0.0.0

# 访问SSE端点
curl http://localhost:3000/sse

离线环境支持:Docker镜像设计用于在空气隔离/离线环境中工作。所有依赖项都在构建阶段被缓存,并且DENO_CACHED_ONLY环境变量确保运行时不会发出网络请求。

根据需要设置环境变量:

变量描述默认值
RENDERED_IMAGE_PATH图表图像目录系统临时目录
RENDERED_IMAGE_HOST_PATH访问图像的基础URL(可选)
DENO_CACHED_ONLY在离线模式下运行true(在Docker中)

Docker SSR服务器

我们还提供了一个SSR服务器,遵循了https://github.com/antvis/mcp-server-chart?tab=readme-ov-file#-private-deployment的要求

# 运行SSR API服务器
docker run -p 3000:3000 -e RENDERED_IMAGE_HOST_PATH=http://localhost:3000/charts ghcr.io/yaonyan/gpt-vis-mcp:latest-http

# 测试SSR API
❯ curl -X POST http://localhost:3000/generate \
             -H "Content-Type: application/json" \
             -d '{"type": "pie", "data": [{"category": "A", "value": 30}, {"category": "B", "value": 70}]}'
{"success":true,"resultObj":"http://localhost:3000/charts/chart_1750500506056_T6IC0Vtp.png"}

然后你可以通过指定VIS_REQUEST_SERVER环境变量来使用上游的@antv/mcp-server-chart

{
  "mcpServers": {
    "mcp-server-chart": {
      "command": "npx",
      "args": ["-y", "@antv/mcp-server-chart"],
      "env": {
        "VIS_REQUEST_SERVER": "http://localhost:3000/generate"
      }
    }
  }
}

这允许你在使用原始MCP服务器的同时利用你的私有SSR端点生成图表。

VIS_REQUEST_SERVER 示例

🤝 贡献

参见CONTRIBUTING.md以了解开发设置。

📄 许可证

MIT许可证 - 详见LICENSE