使用说明
维基百科MCP服务器
一个全面的模型上下文协议(MCP)服务器,提供维基百科搜索和内容检索功能,以及一个交互式客户端应用程序。该服务器允许AI助手和其他MCP客户端搜索维基百科,检索文章摘要,列出文章部分,获取特定部分内容,并包括智能提示和资源,以增强维基百科的探索。
特性
MCP服务器工具
此MCP服务器公开了以下工具:
1. fetch_wikipedia_info
在维基百科中搜索一个主题,并返回最匹配的标题、摘要和URL。
参数:
query(string):要查找的搜索词或主题
退货:
title维基百科文章summary:文章摘要url:维基百科页面的URLerror:如果搜索失败或不明确,则显示错误消息
2. list_wikipedia_sections
从维基百科文章中获取所有章节标题的列表。
参数:
topic(string):维基百科文章标题
退货:
sections:文章中的章节标题数组error:如果找不到文章,则显示错误消息
3. get_section_content
从维基百科文章中检索特定部分的内容。
参数:
topic(string):维基百科文章标题section_title(string):要检索的特定部分
退货:
content:指定章节的文本内容error:如果找不到文章或章节,则显示错误消息
MCP服务器提示
highlight_sections_prompt
识别维基百科文章中关于特定主题的最重要部分。
参数:
topic(string):维基百科文章主题
目的: 通过提供智能推荐和解释,帮助用户专注于维基百科长篇文章中最相关和最有趣的部分。
MCP服务器资源
suggested_titles
提供一份精心策划的维基百科主题推荐列表,供您探索。
URI: file://suggested_titles
退货: 从以下位置加载的建议维基百科主题列表 suggested_titles.txt
当前主题:
- 冠状病毒
- Python语言
- 提示工程
- node.js
- 光合作用
- 太阳系
交互式客户端应用程序
该项目包括一个复杂的交互式客户端(mcp_client.py)演示了如何使用具有AI功能的MCP服务器:
客户端功能
- LangGraph集成:使用LangGraph进行有状态对话管理
- OpenAI GPT-4集成:由OpenAI的GPT-4提供支持,用于智能响应
- 交互式命令:探索MCP能力的特殊命令
- 内存管理:在交互中保持对话上下文
客户端命令
/prompts-列出服务器上所有可用的提示/prompt <name> "args"-使用参数执行特定提示/resources-列出服务器上的所有可用资源/resource <name>-访问特定资源- 定期聊天-提出将使用维基百科工具回答的问题
安装
- 克隆此存储库:
git clone https://github.com/heIsThePirate/first-mcp-server.git
cd first-mcp-server
- 安装所需的依赖项:
pip install -r requirements.txt
- 设置您的OpenAI API密钥:
- 复制
.env文件并添加您的OpenAI API密钥 - 或设置
OPENAI_API_KEY环境变量
- 复制
用法
运行MCP服务器
独立运行MCP服务器:
python mcp_server.py
服务器将启动并通过stdio传输监听MCP协议消息。
运行交互式客户端
运行交互式客户端应用程序:
python mcp_client.py
这将启动一个交互式会话,您可以在其中:
- 询问有关维基百科主题的问题
- 使用特殊命令浏览提示和资源
- 与维基百科集成进行人工智能驱动的对话
客户端会话示例
Wikipedia MCP agent is ready.
Type a question or use the following templates:
/prompts - to list available prompts
/prompt <name> "args" - to run a specific prompt
/resources - to list available resources
/resource <name> - to run a specific resource
You: Tell me about Python programming language
AI: [AI response with Wikipedia information about Python]
You: /resources
Available Resources:
[1] suggested_titles
You: /resource suggested_titles
=== Resource Text ===
coronavirus
python language
prompt engineering
node.js
photosynthesis
the solar system
需求
核心依赖关系
- Python 3.7+
- 维基百科==1.4.0
- mcp>=1.0.0
客户端依赖关系(用于交互式客户端)
- 兰开夏
- 兰格拉夫
- langchain mcp适配器
- python dotenv
配置
该项目使用环境变量进行配置:
- OPENAI_API密钥:您的OpenAI API密钥(交互式客户端需要)
配置通过以下方式管理:
.env环境变量文件config.py用于加载和管理配置
错误处理
服务器处理常见的维基百科API错误:
- 模糊Error:当搜索词与多篇文章匹配时,返回建议
- 页面错误:当无法加载页面时
- 一般例外:优雅地处理描述性错误消息
项目结构
first-mcp-server/
├── mcp_server.py # Main MCP server implementation
├── mcp_client.py # Interactive client application
├── config.py # Configuration management
├── .env # Environment variables
├── suggested_titles.txt # Curated list of Wikipedia topics
├── requirements.txt # Python dependencies
└── README.md # This file
示例用例
- 助研:使用人工智能提供的见解搜索和总结维基百科文章
- 内容探索:浏览带有智能推荐的文章部分
- 教育工具:通过引导式探索获取百科全书式信息
- AI助手:通过对话界面提供维基百科中的事实信息
- 交互式学习:通过提示和精心策划的建议探索主题
贡献
请随时提交问题和增强请求!贡献领域:
- 维基百科的其他工具和功能
- 增强提示以更好地发现内容
- 扩大资源收集
- 客户端界面改进
许可证
这个项目是开源的,可以在MIT许可证下使用。