项目简介

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 的能力,方便快速搭建和实验。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/ushakrishnan/Vaali_MCP_Server.git
    cd Vaali_MCP_Server
  2. 安装依赖:
    npm install
  3. 构建项目:
    npm run build
  4. 运行服务器(本地测试):
    • 使用 '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与计算