项目简介

该GitHub仓库是 FCAI (Function Calling AI) 项目的一部分,集中了多个基于 Model Context Protocol (MCP) 构建的后端服务器实现。这些服务器作为大模型客户端与各种外部能力(如云服务、第三方API、本地文件等)之间的桥梁。

主要功能点

该仓库中的MCP服务器实现通常包含以下或部分功能:

  • 工具 (Tools): 提供标准化接口,允许大模型调用外部功能,例如查询天气、执行数据库操作、访问GitHub API、生成图片等。
  • 资源 (Resources): 托管和管理数据,允许大模型读取结构化或非结构化信息,例如读取文件内容、访问数据库记录等。
  • Prompt 模板 (Prompts): 定义可复用的LLM交互模式,包含预设的消息序列和参数。
  • 会话管理: 支持客户端与服务器之间的会话状态维护。
  • 能力声明: 服务器向客户端声明其支持的功能(工具、资源、Prompt等)。
  • 多种传输协议: 支持通过 Stdio、SSE、WebSocket 等方式与客户端通信。

安装步骤

本仓库包含多个独立的MCP服务器项目,您需要选择其中一个进行安装和运行。以下以 Node.js 版高德地图服务器 ('start-mcp-amap-maps') 和 Python 版天气服务器 ('start-mcp-openweather') 为例说明典型安装过程:

  1. 克隆本仓库到本地。
    git clone https://github.com/devsapp/fcai-mcp-servers.git
    cd fcai-mcp-servers
  2. 进入您想要运行的服务器对应的源代码目录。
    • 对于 Node.js 项目 (如高德地图): 'cd start-mcp-amap-maps/src/code'
    • 对于 Python 项目 (如天气): 'cd start-mcp-openweather/src/code'
  3. 安装项目依赖。
    • Node.js: 'npm install'
    • Python: 'pip install -r requirements.txt'
  4. 配置环境变量: 大多数服务器需要配置API Key等敏感信息作为环境变量。例如,高德地图服务器需要设置 'AMAP_MAPS_API_KEY';天气服务器需要设置 'OPENWEATHERMAP_API_KEY'。请根据具体项目的 'README' 或代码查找所需的环境变量并进行配置。

服务器配置 (供 MCP 客户端使用)

MCP客户端需要知道如何启动您的MCP服务器进程。这通常通过配置服务器的名称、可执行命令、参数以及所需的环境变量来完成。以下是配置客户端连接服务器所需的信息描述:

  • 服务器名称 (name): 服务器在客户端列表中显示的名称。这个名称通常在服务器代码中定义,例如 Node.js SDK 中的 'new Server({ name: "..." })' 或 Python FastMCP 中的 'FastMCP("...")'。您应填写服务器代码中定义的名称。
  • 启动命令 (command): 启动服务器进程的命令。这是一个字符串数组。第一个元素是服务器可执行文件或脚本的路径,后续元素是传递给它的参数。例如:
    • 对于 Node.js Stdio 服务器 (如高德地图): '["node", "path/to/your/cloned/repo/start-mcp-amap-maps/src/code/index.js"]'
    • 对于 Python Stdio 服务器 (如天气): '["python", "path/to/your/cloned/repo/start-mcp-openweather/src/code/weather_server/server.py"]' 请将 'path/to/your/cloned/repo' 替换为您克隆仓库的实际路径。
  • 启动参数 (args): 传递给启动命令的额外参数,通常为空数组 '[]',除非特定的服务器实现需要。
  • 环境变量 (environment): 一个键值对对象,包含服务器运行所需的所有环境变量。这是客户端连接服务器前必须配置的。例如,如果服务器需要 'API_KEY' 变量,您需要在此处提供 '{"API_KEY": "YOUR_SECRET_KEY"}'。

具体的客户端配置格式取决于您使用的 MCP 客户端软件,但都需要提供上述核心信息以便客户端能够正确启动并连接到服务器。

基本使用方法

启动MCP服务器后,您的MCP客户端会根据配置自动连接并与之通信。客户端会通过发送MCP协议请求(如 ListTools)来发现服务器提供的能力,并通过 CallTool 请求调用特定的工具。作为最终用户,您通常是通过MCP客户端界面与大模型进行交互,大模型会在合适的时机自动利用配置好的MCP服务器提供的工具、资源或Prompt模板来完成任务。

信息

分类

网页与API