python-mcp-server

python-mcp-server

构建 Python MCP 服务器 (Gòu jiàn Python MCP fúwùqì)

sawantudayan

开发者工具
访问服务器

README

Python MCP 服务器 - 文档搜索

mcp_server.jpg

这是一个简单的 MCP (Minimal Command Protocol) 服务器,允许用户使用 Serper API 搜索来自流行的库(如 LangChainLlamaIndexOpenAI)的文档。 该服务器获取搜索结果,并使用 HTTP 请求和 BeautifulSoup 从 Web 中提取相关文档。

功能

  • 支持搜索 LangChainLlamaIndexOpenAI 的文档。
  • 使用 Serper API 执行 Web 搜索。
  • 提取并返回相关文档页面中的文本。
  • 可以通过 MCP 协议交互使用。

要求

  • Python 3.12 或更高版本。
  • 用于执行 Web 搜索的 Serper API 密钥
  • 用于服务器和工具执行的 MCP 库
  • 用于 HTTP 请求和 HTML 解析的 BeautifulSoup4httpx

安装

步骤 1:安装 Python 依赖项

要设置项目,请克隆此存储库并安装所需的依赖项。

git clone <repository-url>
cd <repository-directory>
pip install -r requirements.txt

或者,如果您不使用 requirements.txt 文件:

pip install httpx beautifulsoup4 mcp python-dotenv

步骤 2:设置环境变量

在项目的根目录中创建一个 .env 文件,其中包含您的 Serper API 密钥。

SERPER_API_KEY=your-serper-api-key-here

确保使用 dotenv 包加载 .env 文件。

步骤 3:运行服务器

设置好环境后,使用以下命令运行服务器:

uv run main.py

服务器将启动并等待输入。

用法

服务器运行后,您可以使用它来查询特定库的最新文档。 以下是如何查询该工具的示例:

示例查询

使用 uv run main.py 启动您的服务器。

在另一个终端中或从交互式 MCP 客户端中,调用 get_docs 工具来搜索文档:

 get_docs("Chroma DB", "langchain")

这将在 LangChain 文档中搜索“Chroma DB”并返回相关内容。

可用库

  • LangChain:文档位于 langchain.com
  • LlamaIndex:文档位于 llamaindex.ai
  • OpenAI:文档位于 platform.openai.com

代码概述

main.py

  • FastMCP:初始化 MCP 服务器。
  • 工具:服务器有两个工具:
  • dummy_tool:一个简单的工具,用于确认服务器已启动并正在运行。
  • get_docs:获取给定查询和库(LangChain、LlamaIndex、OpenAI)的最新文档。
  • search_web():处理使用 Serper API 进行搜索。
  • fetch_url():获取 URL 并使用 BeautifulSoup 提取文本内容。

dotenvlogging

  • .env 文件加载 Serper API 密钥。
  • 提供调试级别的日志记录,以便更好地了解服务器操作和潜在问题。

故障排除

  • 缺少 API 密钥:确保 Serper API 密钥在 .env 文件中设置正确。 如果缺少,您将收到错误。
  • 超时问题:如果搜索或 URL 获取超时,请尝试增加超时值或检查网络连接。
  • 包安装问题:确保已安装所有依赖项并且已激活正确的 Python 环境。

贡献者

Udayan Sawant

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript