项目简介

该项目仓库主要是一个用于构建和运行AI Agent的SDK (Strands Agent),但其中包含了一个独立的、基于Model Context Protocol (MCP) 实现的维基百科服务示例。此服务将维基百科的搜索、摘要等功能封装为可通过MCP协议调用的工具,供兼容MCP的LLM客户端或Agent使用。

主要功能点

  • 提供维基百科搜索 (search) 工具,根据查询词返回相关条目列表。
  • 提供维基百科摘要 (summary) 工具,获取指定条目的简要信息。
  • 提供维基百科页面 (page) 工具,获取指定条目的完整页面内容。
  • 提供维基百科随机页面 (random) 工具。
  • 提供设置维基百科语言 (set_lang) 工具。
  • 通过JSON-RPC协议响应MCP客户端的工具调用请求。

安装步骤

  1. 克隆 Strands Agent 仓库到本地:
    git clone https://github.com/kyopark2014/strands-agent/
    cd strands-agent
  2. 安装Python依赖库。该MCP服务需要 'wikipedia' 库。通常可以通过安装 'requirements.txt' 来满足:
    pip install -r requirements.txt
    或只安装MCP服务所需的核心依赖:
    pip install mcp wikipedia

服务器配置

MCP客户端(如Strands Agent或其他LLM应用)需要知道如何启动并连接到此MCP服务器。对于基于Stdio传输协议的MCP客户端,通常需要配置服务器的启动命令及其参数。

配置信息通常是一个包含服务器信息的JSON对象,例如:

{
  "name": "WikipediaMCP", // 服务器的友好名称
  "command": "python",     // 启动服务器进程的命令
  "args": ["application/mcp_server_wikipedia.py"], // 传递给命令的参数,即服务器脚本路径
  "protocol": "stdio"      // 使用的传输协议 (这里是stdio)
}

LLM客户端会根据此配置信息启动一个进程来运行 'application/mcp_server_wikipedia.py' 脚本,并通过其标准输入/输出来与服务器进行JSON-RPC通信。

基本使用方法

  1. 启动服务器: 直接运行 'application/mcp_server_wikipedia.py' 脚本即可作为MCP服务器启动。但在实际应用中,通常是由MCP客户端根据上述配置自动启动和管理服务器进程。
  2. 客户端连接: 使用支持Stdio协议的MCP客户端库(如 'mcp' 库)连接到此服务器进程。
  3. 发现工具: 客户端可以向服务器发送请求,列出所有可用的工具(如 'search', 'summary')。
  4. 调用工具: 客户端根据LLM的需求,选择合适的工具(如 'search'),构造包含工具名称和参数的JSON-RPC请求,发送给服务器。
  5. 处理结果: 服务器执行工具(调用维基百科库),并将结果通过JSON-RPC响应返回给客户端,客户端再将结果提供给LLM。

信息

分类

网页与API