使用说明
监管文件MCP服务器
该项目由三个模型上下文协议(MCP)服务器组成,旨在获取、汇总和比较ESMA和CSRC的监管文件。
组件
-
ESMA MCP服务器 (端口8001)
- 从欧洲证券和市场管理局(ESMA)获取文件
- 处理MiFID II、MiFIR、招股说明书条例、MAR和MiCA等文件
- 位于
esma_mcp/
-
中国证监会MCP服务器 (端口8002)
- 从中国证监会获取文件
- 处理证券法和其他监管文件
- 位于
csrc_mcp/
-
MCP服务器常用工具 (端口8003)
- 提供文档摘要和比较功能
- 与ESMA和CSRC的文件一起工作
- 位于
common_tools_mcp/
安装
每个服务器都有自己的需求文件。要安装所有依赖项,请执行以下操作:
# Install ESMA server dependencies
pip install -r esma_mcp/requirements.txt
# Install CSRC server dependencies
pip install -r csrc_mcp/requirements.txt
# Install Common Tools server dependencies
pip install -r common_tools_mcp/requirements.txt
运行服务器
您可以使用提供的脚本一次运行所有服务器:
./start_servers.sh
或者单独运行它们:
# Run ESMA server
python esma_mcp/src/esma_server.py
# Run CSRC server
python csrc_mcp/src/csrc_server.py
# Run Common Tools server
python common_tools_mcp/src/common_tools_server.py
测试
要测试所有服务器,请执行以下操作:
python test.py
环境变量
可以设置以下环境变量:
ESMA_MCP_PORT(默认值:8001)CSRC_MCP_PORT(默认值:8002)COMMON_TOOLS_MCP_PORT(默认值:8003)ESMA_MCP_URL(默认值:http://localhost:8001/sse)CSRC_MCP_URL(默认值:http://localhost:8002/sse)COMMON_TOOLS_MCP_URL(默认值:http://localhost:8003/sse)
您可以在 .env 文件。
目录结构
.
├── esma_mcp/
│ ├── requirements.txt
│ └── src/
│ └── esma_server.py
├── csrc_mcp/
│ ├── requirements.txt
│ └── src/
│ └── csrc_server.py
├── common_tools_mcp/
│ ├── requirements.txt
│ └── src/
│ └── common_tools_server.py
├── regulatory_docs/
│ ├── esma/
│ │ ├── raw/
│ │ ├── processed/
│ │ ├── summaries/
│ │ └── comparisons/
│ └── csrc/
│ ├── raw/
│ ├── processed/
│ ├── summaries/
│ └── comparisons/
├── start_servers.sh
└── test.py
可用工具
ESMA服务器工具
fetch_esma_documents:从ESMA网站获取文件list_local_documents:列出本地存储的ESMA文件
CSRC服务器工具
fetch_csrc_documents:从中国证监会网站获取文件list_local_documents:列出本地存储的中国证监会文件
通用工具服务器
summarize_documents:为下载的文档生成摘要compare_documents:比较监管机构之间或监管机构内部的文件
示例用法
from mcp import ClientSession
from mcp.client.sse import sse_client
async with sse_client(url="http://localhost:8001/sse") as streams:
async with ClientSession(*streams) as session:
await session.initialize()
# Fetch MiFID II documents from ESMA
result = await session.call_tool(
"fetch_esma_documents",
arguments={"document_types": ["MiFID II"]}
)