MCP 服务器实现了模型上下文协议(MCP),为 AI 代理和大语言模型(LLM)提供了多种实用工具。这些工具涵盖了通过 SearXNG 驱动的网络搜索功能,以及安全可控的文件系统操作,有效提升了模型的应用能力。
MCP 服务器是一个强大的工具集,借助它可以为 AI 代理和大语言模型添加多种实用功能。以下是一个快速入门的示例代码,展示了如何使用内置的 MCP 服务器实例:
# 使用内置的MCP服务器实例
from mcp_server.server import mcp
@mcp.tool()
def my_custom_tool(param1: str, param2: int = 10) -> dict:
"""我的自定义工具描述"""
# 实现工具功能
return {"result": f"Processed {param1} with {param2}"}
uv 包管理器(直接安装时使用)# 构建Docker镜像
docker build -t mcp-server .
# 启动服务器和SearXNG服务
docker-compose up
# 确保已安装Python 3.13
python --version # 应显示类似 Python 3.13.x
# 安装uv(如果尚未安装)
pip install uv
# 创建虚拟环境并安装依赖
uv venv --python=python3.13
uv install
# 启动服务器
python -m mcp_server start --config config.env
from mcp_client.session import ClientSession
# 初始化客户端会话
session = ClientSession('http://localhost:8000')
# 调用工具
response = session.call_tool('my_custom_tool', param1='test')
print(response)
import requests
# 直接调用服务器API
url = 'http://localhost:8000/api'
data = {
'tool': 'my_custom_tool',
'params': {'param1': 'test'}
}
response = requests.post(url, json=data)
print(response.json())
from mcp_server.server import mcp
@mcp.tool()
def my_custom_tool(param1: str, param2: int = 10) -> dict:
"""我的自定义工具描述"""
# 实现工具功能
return {"result": f"Processed {param1} with {param2}"}
请参考开发者指南了解如何使用原生架构添加更多功能。
# 示例配置文件内容
MCP_SERVER__HOST=0.0.0.0
MCP_SERVER__PORT=8000
MCP_SEARXNG__INSTANCE_URL=http://localhost:8080/
examples/ 目录下包含客户端示例:
examples/client.py:现代客户端使用 ClientSession API。examples/simple_client.py:简单客户端直接调用 API。本项目遵循 MIT License 协议,详见 LICENSE 文件获取详细信息。