项目简介

BLAH MCP 服务器是一个基于 Model Context Protocol (MCP) 的开源实现,旨在为 AI 客户端提供工具管理和执行能力。它允许 AI 客户端通过 MCP 协议发现和调用由 BLAH manifest 托管的各种工具,从而扩展 AI 应用的功能。该服务器主要作为 MCP 客户端和远程工具服务之间的桥梁,负责工具信息的获取和工具调用的转发。

主要功能点

  • MCP 协议兼容: 完全实现了 MCP 协议,能够处理客户端的工具列表请求和工具调用请求。
  • 工具清单管理: 从远程 BLAH manifest (如 ValTown) 动态获取工具列表,并将其提供给 MCP 客户端。
  • 工具调用转发: 接收客户端的工具调用请求后,能够将请求转发至预设的远程工具服务(如 ValTown 函数)执行,并返回结果。
  • Stdio 传输支持: 使用 Stdio 作为默认传输协议,方便本地开发和集成测试。
  • 简单的能力声明: 声明支持 tools, prompts, resources, logging 等 MCP 定义的能力类型。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/thomasdavis/blah.git
    cd blah
  2. 安装依赖:

    pnpm install
  3. 构建项目:

    pnpm run build

服务器配置

为了让 MCP 客户端能够连接到 BLAH MCP 服务器,需要在客户端中进行相应的配置。以下是一个 JSON 格式的配置示例,用于指导 MCP 客户端如何连接到本地运行的 BLAH MCP 服务器:

{
  "serverName": "BLAH MCP Server",
  "command": "node",
  "args": [
    "packages/cli/build/index.js",
    "mcp"
  ],
  "description": "连接到本地 BLAH MCP 服务器",
  "capabilities": {
    "tools": true,
    "prompts": true,
    "resources": true
  },
  "configuration": {
    "BLAH_HOST": "https://ajax-blah.web.val.run"  // BLAH manifest 的 URL,指定工具信息来源,默认为 ValTown 托管的示例
  }
}

配置参数说明:

  • 'serverName': 为该 MCP 服务器连接配置一个名称,方便在客户端中识别。
  • 'command': 启动 BLAH MCP 服务器的命令,这里使用 'node' 运行 JavaScript 文件。
  • 'args': 传递给 'command' 的参数列表。
    • '"packages/cli/build/index.js"': 指定 BLAH CLI 工具的入口文件路径。
    • '"mcp"': 指定运行 'mcp' 子命令,该命令会启动 MCP 服务器。
  • 'description': 对该服务器连接配置的简要描述,例如 "本地 BLAH MCP 服务器"。
  • 'capabilities': 声明客户端希望使用的 MCP 能力,通常设置为 'tools: true', 'prompts: true', 'resources: true' 以启用工具、Prompt 和资源功能。
  • 'configuration': 服务器的特定配置项。
    • '"BLAH_HOST": "https://ajax-blah.web.val.run"': 重要参数,指定 BLAH manifest 的 URL。BLAH MCP 服务器将从这个 URL 获取工具列表。您可以根据需要修改为自己的 BLAH manifest URL。

请注意: 'BLAH_HOST' 环境变量也可以通过设置系统环境变量或在运行服务器命令前export来配置。

基本使用方法

  1. 启动 MCP 服务器: 在 'blah/packages/cli' 目录下,运行以下命令启动 BLAH MCP 服务器:

    cd packages/cli
    BLAH_HOST=https://ajax-blah.web.val.run node build/index.js mcp

    或者使用 'pnpm' 快捷命令:

    cd packages/cli
    pnpm mcp

    服务器启动后,默认监听 Stdio 标准输入输出,并在终端显示运行日志。

  2. 配置 MCP 客户端: 在您的 MCP 客户端应用(如 IDE 插件、AI 工具客户端)中,按照上述 “服务器配置” 示例进行配置。关键是确保 'command' 和 'args' 参数正确指向 BLAH MCP 服务器的启动脚本,并根据需要设置 'BLAH_HOST' 参数以指定工具信息的来源。

  3. 客户端工具调用: 客户端成功连接到 BLAH MCP 服务器后,即可向服务器请求工具列表。获取工具列表后,客户端可以根据工具的定义,构建工具调用请求,并发送给 BLAH MCP 服务器。服务器会将请求转发到远程工具服务执行,并将执行结果通过 MCP 协议返回给客户端。

信息

分类

AI与计算