Token导航 LogoToken导航TokenDH.com
Vision MCP Manager logo
开发工具未说明官方级别未说明来源级核验

Vision MCP Manager

MCP Server

Vision是一个Go原生的守护进程,提供集中式MCP服务器管理、进程监督和代理自管理功能,适用于AI编码代理的开发环境。

工具数

6

提示词数

0

GitHub Stars

2

资源数

0
GoClaude开发工具ClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Sharper-Flow

提供方

Sharper-Flow

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

The MCP Control Plane for Agentic Coding

Vision将MCP服务器从配置噩梦转变为受监督的、代理可访问的控制平面。一个守护进程。一个配置。完全的代理自主权,完全由操作员监督。

问题

如今,使用带有AI编码代理的MCP服务器意味着:

  • 分散配置 --每个项目都有自己的MCP设置,在机器之间复制
  • 手动流程管理 --服务器静默崩溃,需要手动重新启动
  • 无能见度 --哪些工具正在运行?失败的是什么?没有中心位置可供查看
  • 静态工具 --代理人无法适应自己的能力;人类必须编辑配置
  • 交通混乱 --没有代理层,stdio服务器无法在客户端之间共享

解决方案

Vision是一个Go原生守护进程,它提供:

能力它意味着什么
集中式注册表一个YAML文件(~/.config/vision/servers.yaml)定义所有MCP服务器
过程监督Erlang风格的监督,具有自动重启和指数回退功能
流式HTTP代理每个会话的子进程隔离——每个客户端在专用端口上都有自己的MCP进程
自动重生如果下游子流程被捕获或崩溃,下一个工具调用将透明地生成一个新的子流程
代理自我管理AI代理可以通过管理MCP API添加、删除和重新启动服务器
热重新加载在不重新启动编码会话的情况下更新配置

为什么是视觉?

Vision将任何MCP兼容代理变成 带护栏的高级代理系统:

You: "Research best practices for React Server Components"

Agent: [Calls vision_list — no documentation server available]
Agent: [Calls vision_search("documentation") — finds context7]
Agent: [Calls vision_add("context7", start=true)]
Agent: [Now has Context7 available — proceeds with research]

没有人为干预。不编辑配置文件。代理适应它需要的东西。

但你保持控制:

  • 所有服务器都在您的中央配置中定义
  • 管理员API仅公开您在目录中预先批准的服务器
  • 每个过程都受到监督和记录
  • vision daemon status 显示所有内容

比较

功能愿景MCP网关直接配置
代理自我管理
过程监督是(Erlang风格)不同
自动重启变化
热重新加载
中央配置否(每个项目)
流式HTTP代理一些
每会话隔离
管理MCP API不适用
单二进制变化不适用

快速开始

# Install Vision
curl -fsSL https://raw.githubusercontent.com/Sharper-Flow/Vision-MCP-Manager/trunk/scripts/install.sh | bash

# Start the daemon (with example servers)
vision daemon start -d

# Generate client configuration
vision init --global

您的AI代理现在可以连接到Vision管理的服务器 http://localhost:627X/mcp.

安装

单线安装(推荐)

curl -fsSL https://raw.githubusercontent.com/Sharper-Flow/Vision-MCP-Manager/trunk/scripts/install.sh | bash

安装程序下载最新的二进制文件,并将其放入 /usr/local/bin,并创建配置目录。 当它安装systemd单元时,它还会捕获您当前的 PATH 因此,shell管理的MCP二进制文件(例如 pyenv, nvm,或 uvx 工具)在systemd下仍然可以生成。

选项:

  • --systemd --安装并启用systemd用户服务
  • --client --为特定客户端自动配置

源自

git clone https://github.com/Sharper-Flow/Vision-MCP-Manager.git
cd Vision-MCP-Manager
make build
sudo cp bin/vision /usr/local/bin/

要求: 转到1.24+

作为服务运行

要始终运行,请安装systemd用户服务:

mkdir -p ~/.config/systemd/user
cp scripts/vision-user.service ~/.config/systemd/user/vision.service
systemctl --user daemon-reload
systemctl --user enable --now vision

如果您的MCP命令位于默认systemd路径之外,请使用重新安装 scripts/install.sh 或添加匹配项 PATH~/.config/systemd/user/vision.service 在启动守护进程之前。

配置

服务器注册表

Vision在 ~/.config/vision/servers.yaml:

servers:
  # Context7 - Library documentation lookup
  context7:
    port: 6276
    command: context7-mcp
    args: []
    env:
      CONTEXT7_API_KEY: "${CONTEXT7_API_KEY}"
    autostart: true
    session_timeout: 30m   # How long idle sessions live (default: 5m)

  # Kagi - Web search and summarization
  kagi:
    port: 6279
    command: uvx
    args: ["--python", "3.12", "kagimcp"]
    env:
      KAGI_API_KEY: "${KAGI_API_KEY}"
    autostart: true

  # Time - Timezone utilities
  time:
    port: 6282
    command: uvx
    args: ["mcp-server-time", "--local-timezone=America/New_York"]
    autostart: true
会话生命周期: 空闲会话在以下时间被收获 session_timeout (默认5m)。如果在会话结束后收到工具调用,Vision会自动重新生成一个新的子流程,不会向代理返回任何错误。
可用性配置文件:availability_profile: networked 用于由上游web/API提供商支持的服务器。Vision应用了更强的超时、重试、断路器、缓存和飞行中限制默认值,同时默认情况下仍保持每个会话的下游隔离。
插槽组: 对于需要每个会话隔离并发进程的服务器(例如Playwright浏览器自动化),声明 slot_groups 泳池在 servers.yaml.Vision将池扩展到单个虚拟端口后面的相同插槽中,并将每个会话透明地路由到负载最小的健康插槽——代理连接到一个端点,永远看不到底层进程。看 配置参考 查看完整的模式和示例。

API密钥和秘密

将API密钥存储在 ~/.config/vision/.env 并通过以下方式引用它们 ${VAR}servers.yaml:

# ~/.config/vision/.env (0600 permissions)
CONTEXT7_API_KEY=your-context7-key
KAGI_API_KEY=your-kagi-key
# ~/.config/vision/servers.yaml
env:
  CONTEXT7_API_KEY: "${CONTEXT7_API_KEY}"

视觉负荷 .env 在解析配置之前,所以 ${VAR} 无论守护进程是如何启动的(前台、后台、systemd),扩展都能正常工作。这 .env 文件应具有 0600 权限,因为它包含秘密。

重要提示: 更换后 .env,对于已经运行的下游子流程,重新加载并不总是足够的。新生成的程序将使用更新的值,但长期运行的MCP服务器进程可能会保留旧环境,直到它们重新启动。在旋转API密钥或令牌后,更喜欢完整的 vision daemon restart 流量(vision daemon stopvision daemon start)或者在验证更改之前重新启动受影响的服务器/会话。

对于生产商拥有的远程MCP,如Vercel的Grep,更喜欢直接在客户端配置官方远程端点,而不是将其包装在本地子流程中。如果您有意让Vision代理远程MCP,请使用 transport: http 随着 url:servers.yaml.

客户端集成

通过Streamable HTTP将任何兼容MCP的客户端连接到Vision管理的服务器:

{
  "mcp": {
    "vision": {
      "type": "remote",
      "url": "http://localhost:6275/mcp",
      "enabled": true
    },
    "context7": {
      "type": "remote",
      "url": "http://localhost:6276/mcp",
      "enabled": true
    },
    "kagi": {
      "type": "remote",
      "url": "http://localhost:6279/mcp",
      "enabled": true
    }
  }
}

或自动生成:

vision init --global

外部配置

愿景 ~/.config/vision/servers.yaml 可以用外部配置工具编写,也可以手工编辑。

外部作家合同:

  • servers.yaml权威的 重新加载时。Vision不会与之前的状态合并——文件中的内容就是运行的内容。
  • 使用原子写入(写入同一目录中的临时文件,然后重命名)。
  • 根据记录的模式进行验证(internal/config/schema.go)在写作之前。
  • 保留未知但保留的字段(例如。 source, description, retry.*, circuit_breaker.*)在从更高级别的源重新渲染时进行往返。
  • 管理员HTTP界面位于 http://127.0.0.1:6275 公开稳定的集成端点: GET /version (能力合同), GET /health (聚合状态), GET /v1/servers (按服务器状态),以及 GET /v1/servers/{name} (单服务器详细信息)。
  • 检查 GET /version 为了 api.* 在调用端点之前设置功能标志——这使得外部工具可以在不固定Vision版本的情况下进行功能检测。

代理自我管理

Vision的杀手级功能: 代理可以管理自己的工具.

管理MCP服务器(端口6275)将这些工具暴露给您的AI代理:

工具它做什么
vision_list显示所有状态为(运行/停止/错误)的服务器
vision_add从目录中配置并启动新服务器
vision_remove停止并删除服务器
vision_search按名称或功能查找服务器
vision_status守护进程运行状况、正常运行时间、内存使用情况
vision_guidance获取使用哪种工具的建议

工作流程示例:

  1. 代理需要网络搜索功能
  2. 呼叫 vision_search("web search") → finds kagi
  3. 呼叫 vision_add("kagi", start=true) → 服务器启动
  4. 代理现在可以进行网络搜索
  5. 你在里面看到了 vision_list --全能见度

建筑

┌─────────────────────────────────────────────────────────────────┐
│                        AI Agents                                │
│              (OpenCode, Claude Code, Cursor, etc.)              │
└───────────────────────────────┬─────────────────────────────────┘
                                │ HTTP POST/GET/DELETE /mcp
                                ▼
┌─────────────────────────────────────────────────────────────────┐
│                       Vision Daemon                             │
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │           Admin MCP Server (:6275)                      │   │
│   │   vision_list  vision_add  vision_status  vision_search │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │          Streamable HTTP Proxy Layer                    │   │
│   │                                                         │   │
│   │  :6276/mcp ──[session A]──> subprocess A (stdio)        │   │
│   │            ──[session B]──> subprocess B (stdio)         │   │
│   │                                                         │   │
│   │  :6284/mcp ──[session C]──> subprocess C (stdio)        │   │
│   │                                                         │   │
│   │  :6282/mcp ──[session D]──> subprocess D (stdio)  ...   │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │         Process Supervisor (Erlang-style)               │   │
│   │   Automatic restarts · Exponential backoff · Graceful   │   │
│   │   teardown: stdin close → SIGTERM → SIGKILL             │   │
│   └─────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘

关键部件:

  1. 管理MCP服务器 --让代理在没有人为干预的情况下管理自己的工具
  2. 流式HTTP代理 --每个客户端会话都会生成一个独立的子流程;工具是动态发现和透明代理的。如果一个子进程被捕获(空闲超时)或崩溃,代理会在下一个请求时自动重新扫描它
  3. 工艺主管 --用途 缝合线 用于带回退功能的自动重启
  4. 安全中间件 --承载身份验证、源地址分配、速率限制、体大小上限和会话准入控制

通过可见性建立信任

高级机构并不意味着黑匣子。愿景为您带来:

  • 集中配置 --确切了解可用的工具(~/.config/vision/servers.yaml)
  • 过程监督 --每台服务器都受到监控;碰撞触发自动重启
  • 单个守护进程 --检查状态的一个地方: vision daemon status
  • 专用端口 --为了安全和调试,每台服务器都隔离在自己的端口上
  • 热重载 --在不中断活动会话的情况下更新配置: vision daemon reload

CLI参考

守护进程

vision daemon start        # Start in foreground
vision daemon start -d     # Start daemonized
vision daemon stop         # Graceful shutdown
vision daemon status       # Health, uptime, memory
vision daemon reload       # Hot-reload config (SIGHUP)

服务器

vision server list                    # Show all servers
vision server add  --command  [--args ]
vision server remove 
vision server start 
vision server stop 

配置

vision init                           # Project-local config
vision init --global                  # Global config
vision init --client opencode         # Target specific client format
vision init --servers time,context7   # Specific servers only

故障排除

症状解决方案
服务器没有响应vision daemon status --检查守护进程是否正在运行
服务器持续崩溃检查日志: journalctl --user -u vision -f
配置更改未应用运行 vision daemon reload
端口已在使用中检查是否存在冲突: lsof -i :6276
“下游会话不可用”会话在空闲超时后被捕获。Vision在下次通话时自动应答。如果持续,增加 session_timeoutservers.yaml

文档

路线图

  • \[x\] 会话生命周期和安全事件的结构化审计日志记录
  • \[x\] 每会话准入控制(最大并发会话数、空闲超时、TTL)
  • \[x\] 在空闲收割或崩溃时自动进行下游再生
  • \[\]使用情况分析仪表板
  • \[\]多机同步

许可证

MIT许可证——见 许可证 了解详情。

______________________________________________________________________

Built with Go. Designed for agentic coding.

目录标签

目录标签

GoClaude开发工具MCP管理本地部署进程监督代理自管理编码工具开发效率

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP