一个模型上下文协议(MCP)服务器,将OpenAPI规范转换为MCP工具,提供对3DSpace工程Web服务API的访问。
pip install -r requirements.txtSSE模式:
python mcp_server.py --sse
STDIO模式:
python mcp_server.py --stdio
使用以下JSON格式配置您的MCP客户端(如Cursor、Claude或自定义客户端):
{
"mcpServers": {
"3dspace-mcp-server": {
"url": "http://localhost:8000/sse"
}
}
}
{
"mcpServers": {
"3dspace-mcp-server": {
"command": "python",
"args": ["mcp_server.py", "--stdio"],
"env": {}
}
}
}
MCP服务器从swagger_files/文件夹读取所有OpenAPI格式的JSON文件,并将其转换为MCP工具。目前包括45多个3DSpace服务规范,涵盖:
服务器通过list_available_tools提供这些核心MCP工具:
api_request - 使用OpenAPI操作ID执行API操作generic_api_call - 直接向任何API端点发出HTTP调用search_operations - 根据搜索查询查找相关API操作set_3dspace_url - 配置API调用的3DSpace基础URLget_security_context - 获取可用的安全上下文(Role.Organization.CollabSpace)get_csrf_token - 获取状态更改操作所需的CSRF令牌list_available_tools - 显示所有可用的MCP工具及其描述为了在MCP客户端中获得最佳测试结果,请使用包含的prompt_3dspace.md文件作为系统提示。此文件提供了:
$前缀的要求)该提示确保AI遵循正确的协议:
在使用MCP服务器之前,运行路径规范化实用程序以确保一致的服务器URL:
python update_openapi_paths.py
它做什么:
{3DSpace}占位符的服务器URL中提取基本路径{3DSpace}基础URL示例转换:
// 之前:
"servers": [{"url": "{3DSpace}/resources/v1/dsmfg"}],
"paths": {"/dsmfg:MfgItem": {...}}
// 之后:
"servers": [{"url": "{3DSpace}"}],
"paths": {"/resources/v1/dsmfg/dsmfg:MfgItem": {...}}
这确保了所有API调用都使用相同的3DSpace基础URL,并且路径前缀正确。
├── mcp_server.py # 主MCP服务器实现
├── update_openapi_paths.py # OpenAPI路径规范化实用程序
├── swagger_files/ # OpenAPI规范文件(45+服务)
├── prompt_3dspace.md # 客户端AI交互指南
├── requirements.txt # Python依赖项
└── README.md # 本文件
python update_openapi_paths.pypython mcp_server.py --sseprompt_3dspace.md**作为客户端中的系统提示AI将引导您完成认证、参数收集以及按照既定工作流模式执行API操作。