项目简介

Manifold 是一个功能丰富的AI工作流自动化平台。本描述聚焦于 Manifold 仓库中实现 Model Context Protocol (MCP) 服务器的部分。

这个特定的组件 ('cmd/mcp-manifold' 目录下的程序) 设计为一个独立的进程,通过标准I/O (Stdio) 与 MCP 客户端(例如 Manifold 主应用或其他兼容的LLM编排器)通信,提供一组可供 AI 模型调用的标准化“工具”。

主要功能点

该 MCP 工具服务器提供以下核心能力,由连接到它的 MCP 客户端代理给 LLM:

  • 基础工具: 提供如数学计算、获取当前时间、天气预报等基础功能。
  • Web 交互: 执行 Web 搜索(通过 DuckDuckGo)和网页内容抓取。
  • Git 操作: 执行 Git 命令,如克隆仓库、拉取 (pull)、推送 (push) 等。
  • 系统命令: 允许安全地执行任意 shell 命令(在配置允许的范围内)。
  • Go 开发工具: 支持执行 Go 语言的构建 ('go build')、测试 ('go test')、格式化 ('go fmt') 和代码检查 ('lint')。

这些功能以标准化的 MCP 工具形式暴露,使得 LLM 能够理解其用途并通过 JSON-RPC 调用执行。

安装步骤

该 MCP 工具服务器通常作为 Manifold 主应用的一部分进行部署。如果您使用 Manifold 的预构建二进制或 Docker 镜像,这个 MCP 服务器组件很可能已经被包含并配置为主应用的一个子进程。

如果您需要单独运行或从源码构建:

  1. 克隆仓库:
    git clone https://github.com/intelligencedev/manifold.git
    cd manifold
  2. 构建 MCP 服务器二进制: 导航到 'cmd/mcp-manifold' 目录并构建。
    cd cmd/mcp-manifold
    go build -o ../../dist/mcp-manifold .
    构建成功后,可执行文件 'mcp-manifold' 将位于 'dist' 目录下。

要运行它,通常通过一个 MCP 客户端(如 Manifold 主应用)启动。直接运行 '../../dist/mcp-manifold' 会启动服务器,等待来自标准输入的 JSON-RPC 请求。

服务器配置

MCP 服务器通过 JSON-RPC 协议与客户端通信。客户端需要知道如何启动服务器进程以及与之通信。在 Manifold 主应用的 'config.yaml' 文件中,您需要配置 'mcpServers' 部分来声明和启动这个 MCP 服务器。

以下是 Manifold 主应用 'config.yaml' 中配置 'mcpServers' 的示例(特别是针对这个 'mcp-manifold' 服务器):

mcpServers:
  # 'manifold' 是您给这个服务器起的名字,客户端将用这个名字引用它。
  manifold:
    # 'command' 指定启动服务器进程的命令
    # 如果您构建了二进制,这里可以是二进制路径
    command: ./dist/mcp-manifold 
    # 'args' 指定传递给启动命令的参数
    args: [] 
    # 'env' 指定为服务器进程设置的环境变量
    env: {} 
  # 您可以在这里配置其他 MCP 服务器,例如:
  # securitytrails:
  #   command: ./dist/mcp-recfut-asi
  #   args: []
  #   env:
  #     SECURITYTRAILS_API_KEY: "your_securitytrails_api_key"

请注意:以上配置是给 MCP 客户端(Manifold 主应用)看的,用于指导它如何启动和连接到 'mcp-manifold' 服务器。'mcp-manifold' 服务器本身不需要这个 'config.yaml' 文件来启动。

基本使用方法

  1. 确保 Manifold 主应用已配置并运行: Manifold 主应用(或其他 MCP 客户端)将根据其 'config.yaml' 中的 'mcpServers' 配置自动启动 'mcp-manifold' 进程。
  2. 通过 MCP 客户端调用工具: 一旦 'mcp-manifold' 成功启动并连接到客户端,它提供的工具 (如 'calculate', 'web_search', 'git_pull' 等) 将被客户端发现,并可供连接到客户端的 LLM 或其他组件通过 JSON-RPC 调用。例如,一个 LLM 可能通过客户端发送一个 JSON-RPC 请求来调用 'calculate' 工具执行加法。

用户通常不需要直接与 'mcp-manifold' 二进制文件交互,而是通过 Manifold 主应用的界面或 API 来利用其提供的工具能力。

信息

分类

AI与计算