294 查看 · 2026-07-07 更新
简单的MCP工具服务器
一个简单的MCP服务器,使用SSE传输方式提供了一个网站抓取工具。
要求
- Python 3.10或更高版本(在Python 3.13上测试过)
安装
bash
创建虚拟环境
python3 -m venv venv
激活虚拟环境
source venv/bin/activate
安装包及其依赖项
pip install -r requirements.txt
MCP Python SDK文档
MCP Python SDK文档已被拆分成更小的文件,并组织在docs/目录中。这种结构使得AI代理更容易导航和理解SDK。文档涵盖了:
- 核心概念(服务器、资源、工具等)
- 在不同模式下运行MCP服务器
- 示例和高级用法
- 以及更多!
使用方法
该包提供了一个命令行界面(CLI),包含几个用于管理MCP服务器的命令:
启动服务器
在默认端口(7000)启动服务器或指定自定义端口:
bash
使用默认端口(7000)
python -m mcp_simple_tool start
使用自定义端口
python -m mcp_simple_tool start --port 8000
管理服务器
bash
检查服务器是否正在运行
python -m mcp_simple_tool check [--port PORT]
停止服务器
python -m mcp_simple_tool stop [--port PORT]
重启服务器(停止并启动)
python -m mcp_simple_tool restart [--port PORT]
重启命令将执行以下操作:
- 停止指定端口上的任何现有服务器
- 在后台启动一个新的服务器
- 等待直到服务器响应
- 将输出记录到server.log
CLI快速参考
| 命令 | 目的 |
|---|---|
start | 启动服务器 |
stop | 停止服务器 |
check | 健康检查 |
restart | 停止并启动 |
服务器工具
服务器提供了以下工具:
-
fetch: 远程 HTTP 抓取器 – 提供绝对URL;返回页面文本。
url: 要抓取的网站的URL(必填)
-
search_docs: 对SDK文档进行语义搜索;返回前k个摘录。
query: 搜索短语或问题(必填)k: 返回的顶级匹配数(可选,默认=3)
-
get_content: 获取由
search_docs返回的任何匹配项的完整本地文件。file: 相对于文档的路径(必填)
开发设置
为了开发,请安装额外的工具:
bash pip install -e . pip install -r requirements.txt
使用Makefile执行常见任务:
bash
格式化代码
make fmt
运行代码检查
make lint
运行测试
make test
测试套件为所有测试内置了20秒超时,以防止挂起,特别是对于SSE端点。对于单独的测试,可以使用@pytest.mark.timeout(seconds)装饰器指定更严格的超时时间。
语义搜索索引
对于search_docs工具,您可以手动构建或重建向量索引:
bash
构建或重建语义搜索索引
python scripts/build_doc_index.py
如果索引不存在,则会在首次使用工具时自动构建。
项目架构
mcp_simple_tool/ init.py # 包初始化 main.py # 作为模块运行时的入口点 cli.py # 命令行接口 server/ # 服务器实现 init.py # 服务器包初始化 app.py # ASGI应用程序设置 config.py # 配置设置 handlers.py # 工具实现 http.py # HTTP实用程序 semantic_search/ # 语义搜索功能 init.py # 包初始化 indexing.py # 构建和持久化向量存储 search.py # 加载索引和查询辅助函数
与Cursor一起使用
此MCP服务器可以与Cursor作为客户端一起使用。设置步骤如下:
- 在终端中运行服务器: bash source venv/bin/activate python -m mcp_simple_tool start
或者使用重启命令
python -m mcp_simple_tool restart2. 通过创建一个 .cursor/mcp.json 文件来配置 Cursor:
json
{
"mcpServers": {
"website-fetcher-sse": {
"url": "http://localhost:7000/sse"
}
}
}
- 在使用 Cursor 时,在提示中提及该服务器。
服务配置
[{'mcpServers': {'website-fetcher-sse': {'url': 'http://localhost:7000/sse'}}}]
来源
- 来源:github
- 链接:https://github.com/slawekradzyminski/mcp