项目简介
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 定义的能力类型。
安装步骤
-
克隆仓库:
git clone https://github.com/thomasdavis/blah.git cd blah -
安装依赖:
pnpm install -
构建项目:
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来配置。
基本使用方法
-
启动 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 标准输入输出,并在终端显示运行日志。
-
配置 MCP 客户端: 在您的 MCP 客户端应用(如 IDE 插件、AI 工具客户端)中,按照上述 “服务器配置” 示例进行配置。关键是确保 'command' 和 'args' 参数正确指向 BLAH MCP 服务器的启动脚本,并根据需要设置 'BLAH_HOST' 参数以指定工具信息的来源。
-
客户端工具调用: 客户端成功连接到 BLAH MCP 服务器后,即可向服务器请求工具列表。获取工具列表后,客户端可以根据工具的定义,构建工具调用请求,并发送给 BLAH MCP 服务器。服务器会将请求转发到远程工具服务执行,并将执行结果通过 MCP 协议返回给客户端。
信息
分类
AI与计算