项目简介

AgentSphere MCP 服务器集合是一个包含多个 Model Context Protocol (MCP) 服务器实现的仓库。这些服务器作为AI系统的标准化后端,将各种外部API(如新闻API、OpenWeatherMap、SerpAPI Google)封装成遵循MCP协议的工具,使AI模型能够通过统一接口发现和调用这些功能,获取上下文信息。

主要功能点

该集合中的每个MCP服务器都专注于通过MCP协议暴露特定的外部能力:

  • 新闻API MCP 服务器:
    • 搜索特定主题的新闻文章。
    • 获取指定国家/地区的头条新闻。
  • OpenWeather MCP 服务器:
    • 获取指定地点的当前天气状况。
    • 获取指定地点的按小时天气预报。
    • 获取指定地点的按天天气预报。
    • 获取指定地点的当前空气污染数据。
    • 获取指定地点的空气污染预报数据。
  • SerpAPI Google MCP 服务器:
    • 搜索事件信息。
    • 检索金融数据。
    • 查找航班信息。
    • 搜索酒店信息。
    • 查找职位列表。
    • 搜索本地地点信息。
    • 获取商品购物结果。

所有服务器都共享以下特点:

  • 标准化协议: 严格遵循MCP规范,方便与任何支持MCP的AI客户端集成。
  • 容器化: 提供Docker支持,便于独立或批量部署。
  • 异步处理: 基于异步Python构建,实现高效的请求处理。
  • 健康检查: 提供标准的健康检查端点。
  • SSE 通信: 使用Server-Sent Events (SSE) 作为实时通信通道。

安装步骤

每个服务器都可以独立安装和运行。以下是通用步骤(以News API服务器为例):

  1. 克隆仓库到本地:
    git clone https://github.com/DataRohit/AgentSphere-MCP-Servers.git
    cd AgentSphere-MCP-Servers
  2. 进入特定服务器目录:
    cd news-api-mcp-server # 或 open-weather-mcp-server / serpapi-google-mcp-server
  3. 安装服务器及其依赖:
    pip install -e .
  4. 创建 '.env' 文件并配置API密钥。不同的服务器需要不同的密钥:
    • News API: 'NEWS_API_KEY=你的密钥'
    • OpenWeather: 'OPEN_WEATHER_API_KEY=你的密钥'
    • SerpAPI Google: 'SERPAPI_API_KEY=你的密钥' 请将 '.env' 文件放在对应的服务器目录内。

或者,可以使用Docker进行部署。仓库根目录下提供了 'docker-compose.yml' 示例,可以一次性启动所有服务器(需先在对应子目录创建包含API密钥的 '.env' 文件):

docker-compose up -d

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

MCP客户端需要知道如何启动并连接到这些服务器。典型的MCP客户端配置文件通常会包含每个服务器的条目,指定其名称以及启动该服务器的命令和参数。API密钥等敏感信息应通过环境变量提供给服务器进程,而不直接包含在启动参数中。

以下是MCP客户端可能需要配置的信息示例:

News API MCP 服务器

  • Server Name: 'news-api-mcp-server'
  • Command: 'python' (或 'uvicorn')
  • Arguments: '["-m", "news_api_mcp_server", "--port", "8001"]' (如果使用 'python -m' 启动,且指定端口)
  • 注意: 启动此命令前,需确保环境变量 'NEWS_API_KEY' 已设置,且MCP服务器模块 ('news_api_mcp_server') 已安装或在Python环境中可找到。主机地址默认通常为 '0.0.0.0',端口默认为 '8000',可以通过 '--host' 和 '--port' 参数修改。

OpenWeather MCP 服务器

  • Server Name: 'open-weather-mcp-server'
  • Command: 'python' (或 'uvicorn')
  • Arguments: '["-m", "open_weather_mcp_server", "--port", "8002"]' (如果使用 'python -m' 启动,且指定端口)
  • 注意: 启动此命令前,需确保环境变量 'OPEN_WEATHER_API_KEY' 已设置。主机/端口参数同上。

SerpAPI Google MCP 服务器

  • Server Name: 'serpapi-google-mcp-server'
  • Command: 'python' (或 'uvicorn')
  • Arguments: '["-m", "serpapi_google_mcp_server", "--port", "8003"]' (如果使用 'python -m' 启动,且指定端口)
  • 注意: 启动此命令前,需确保环境变量 'SERPAPI_API_KEY' 已设置。主机/端口参数同上。

MCP客户端将使用配置的命令启动服务器进程,并通过服务器暴露的'/sse'端点(例如 'http://localhost:8001/sse')建立通信。

基本使用方法

MCP客户端连接到服务器后,可以通过MCP协议进行交互:

  1. 客户端通过 'list_tools' 方法请求服务器提供其支持的工具列表。
  2. 服务器返回一个包含工具名称、描述和输入参数Schema (JSON Schema) 的列表。
  3. AI模型或客户端根据工具列表选择合适的工具,并通过 'call_tool' 方法调用指定工具,传入符合其输入Schema的参数。
  4. 服务器执行工具对应的逻辑(调用外部API等),并将结果以标准化的MCP内容格式(如 'TextContent',通常包含API返回的JSON数据)返回给客户端。

客户端也可以访问 '/health' 端点(例如 'http://localhost:8001/health')检查服务器的运行状态。

信息

分类

网页与API