分布式MCP Server
MCP Server 是一个 Microsoft Copilot 插件,通过 API 端点提供法律文档、Microsoft 许可证、天气数据和 Azure 价格查询工具。
简介
Model Context Protocol (MCP) 服务器提供多种工具接口,包括法律信息查询、天气数据、Azure价格查询以及实用工具等功能,可与 Microsoft Copilot 或其他支持 MCP 协议的 AI 助手集成。
功能概述
- 法律信息工具:查询中国刑法条款、关键词搜索、条款名称查询
- 天气工具:获取天气预警和预报
- 其他工具:Azure价格查询、中文字数统计
快速开始
安装
git clone <repository-url>
cd mcp-server
# 创建并激活虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt
启动服务器
python mcp-server.py --host 0.0.0.0 --port 8080
服务器将在 http://localhost:8080 上运行。
使用示例
通过集成的 AI 助手调用工具:
# 查询法律条款
请帮我查询刑法第133条的内容。
# 查询天气信息
纽约现在有什么天气预警吗?
# 计算中文字数
这段文字有多少个汉字:人工智能正在改变我们的生活方式。
Docker 部署
# 构建镜像
docker build -t mcp-server .
# 运行容器
docker run -p 8080:8080 --env-file .env mcp-server
Azure 部署
1. 部署到 Azure Container Apps
# 创建环境
az containerapp env create --name my-environment --resource-group myResourceGroup --location eastasia
# 创建容器应用
az containerapp create \
--name mcp-server-app \
--resource-group myResourceGroup \
--environment my-environment \
--image myacrregistry.azurecr.io/mcp-server:latest \
--target-port 8080 \
--ingress external
添加新工具
@mcp.tool()
async def my_new_tool(param1: str, param2: int = None) -> str:
"""Tool description that will be shown to the user.
Args:
param1: Description of parameter 1
param2: Description of parameter 2
"""
try:
# 实现功能逻辑
return "结果数据"
except Exception as e:
return f"Error: {str(e)}"
故障排除
- 检查数据库连接字符串格式是否正确
- 验证 API 密钥和端点是否有效
- 查看日志:
az containerapp logs show --name mcp-server-app --resource-group myResourceGroup