项目简介
Vaali MCP 服务是一个功能完备的 Model Context Protocol (MCP) 服务器,旨在通过标准化的方式增强大型语言模型 (LLM) 客户端的上下文理解和功能调用能力。它支持托管数据资源、执行外部工具、定义 Prompt 模板,并引入了独特的“混合式参数收集”机制,可以在工具执行过程中智能地引导 LLM 客户端收集缺失的参数,从而实现更流畅、更智能的交互式 AI 代理工作流。
主要功能点
- 资源管理: 托管和管理配置、示例数据、文档等静态资源,供 LLM 访问。
- 工具调用: 提供天气查询、数学计算、文本分析、UUID 生成、位置查找等多种工具,供 LLM 调用执行外部任务。
- Prompt 模板: 定义可复用的 Prompt 模板,如代码审查、文档编写、天气报告生成器,简化复杂工作流。
- 交互式参数收集 (Elicitation): 支持 MCP 官方的交互式表单和对话机制,以及兼容性更强的智能参数指导模式,让 LLM 在缺少必要参数时能主动、智能地向用户请求信息。
- 多种传输协议: 支持 Stdio(用于本地集成,如 Claude Desktop)和 SSE(用于 Web 或云端部署)传输协议。
- 云端部署: 提供一键部署到 Azure App Service 的能力,方便快速搭建和实验。
安装步骤
- 克隆仓库:
git clone https://github.com/ushakrishnan/Vaali_MCP_Server.git cd Vaali_MCP_Server - 安装依赖:
npm install - 构建项目:
npm run build - 运行服务器(本地测试):
- 使用 'stdio' 模式(推荐用于 Claude Desktop 等本地客户端):'npm run start:stdio'
- 使用 'sse' 模式(推荐用于 Web 或调试):'npm run start:sse'
服务器配置 (针对 MCP 客户端)
MCP 客户端(例如 Claude Desktop)需要配置服务器的启动命令和相关参数。以下是一个示例配置,您需要根据实际的项目路径进行修改:
{ "mcpServers": { "vaali": { "command": "node", "args": ["/绝对/路径/到/Vaali_MCP_Server/lib/src/index.js", "stdio"], "cwd": "/绝对/路径/到/Vaali_MCP_Server", "env": { "NODE_ENV": "development" } } } }
- '"vaali"': 服务器的唯一标识符(名称),MCP 客户端会用此名称来识别和连接服务器。
- '"command": "node"': 启动 MCP 服务器所使用的命令行程序,这里是 Node.js 运行时。
- '"args": ["/绝对/路径/到/Vaali_MCP_Server/lib/src/index.js", "stdio"]': 传递给 'command' 命令的参数列表。
- 第一个参数是您的 Vaali MCP Server 项目构建后的主入口文件路径(请替换为您的实际绝对路径,例如 'C:/Users/YourUser/Projects/Vaali_MCP_Server/lib/src/index.js')。
- 第二个参数 '"stdio"' 指示服务器以标准 I/O 模式运行,适用于本地客户端进行进程间通信。
- '"cwd": "/绝对/路径/到/Vaali_MCP_Server"': 服务器的工作目录(请替换为您的实际绝对路径),确保服务器能正确找到其内部文件和资源。
- '"env": { "NODE_ENV": "development" }': 可选的环境变量,这里设置为开发模式,您可以根据需要添加其他环境变量。
如果您部署到 Azure 等云平台,并使用 SSE 传输协议,MCP 客户端则需要配置服务器的 SSE 端点 URL,例如:'https://your-app-name.azurewebsites.net/sse'。
基本使用方法
配置完成后,在支持 MCP 协议的 LLM 客户端(如 Claude Desktop)中,您可以尝试使用自然语言指令来调用服务器提供的功能:
- 查询天气: "What's the weather in Tokyo?" (东京天气怎么样?)
- 执行计算: "Calculate 25 * 4 + 10" (计算 25 乘以 4 再加 10)
- 测试交互式工具: "Test the elicitation tool for rain prediction" (测试降雨预测的交互式工具,这将触发一个交互式表单,要求您输入地点、时间等信息)
- 生成报告: "Generate a weather report for Alice" (为 Alice 生成一份天气报告,这会调用一个 Prompt 模板,可能结合资源和工具)
信息
分类
AI与计算