使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,其核心功能是将 API 文档描述转换为可执行的 cURL 命令。它利用机器学习模型进行转换,并通过 MCP 框架提供 API 接口,方便 LLM 或其他客户端调用。该项目还包含模型训练、评估和持续优化的功能,旨在构建一个自学习、自提升的 API-to-cURL 转换系统。
主要功能点
- API 文档到 cURL 命令转换: 通过 POST 请求 '/generate_curl/' 接口,输入 API 文档描述,服务器返回对应的 cURL 命令。
- 自动化数据集生成: 提供 '/generate_dataset/' 接口,用于自动生成 API 文档和 cURL 命令的训练数据集。
- 模型训练与微调: 支持模型训练 ('/train_model/') 和微调 ('/auto_finetune/') 接口,可以根据新的数据不断优化转换模型。
- RAG 检索增强生成: 集成 RAG (Retrieval-Augmented Generation) 技术,通过 '/setup_rag/' 和 '/rag_retrieval/' 接口,利用向量数据库检索相关 API 文档,提升 cURL 命令生成的准确性。
- 模型评估与测试: 提供模型评估 ('/evaluate_model/') 和测试 ('/test_training/', '/test_inference/') 接口,方便开发者监控模型性能。
- 持续部署与自学习: 通过 'ai_autonomous_dev.py' 脚本,实现自动化模型训练、评估、部署和代码更新的闭环流程,使系统具备自学习能力。
安装步骤
- 克隆仓库
git clone https://github.com/S-Umasankar/api-to-curl-mcp-server.git cd api-to-curl-mcp-server - 安装依赖
pip install -r requirements.txt
服务器配置
MCP 客户端需要配置以下服务器信息以连接到 API to cURL 转换 MCP 服务器:
{ "serverName": "api-to-curl-server", "command": "bash", "args": [ "scripts/start_mcp.sh" ], "description": "API to cURL 转换 MCP 服务器,用于将 API 文档描述转换为 cURL 命令。", "capabilities": [ "tools", "prompts", "resources" ], "protocol": "json-rpc", "transport": "stdio" }
配置参数说明:
- 'serverName': 服务器名称,可以自定义,例如 "api-to-curl-server"。
- 'command': 启动服务器的命令,这里使用 'bash' 脚本启动。
- 'args': 启动命令的参数,指向 'scripts/start_mcp.sh' 脚本。
- 'description': 服务器的描述信息,可自定义。
- 'capabilities': 声明服务器提供的能力,包括 'tools' (工具调用,这里指 cURL 命令生成功能), 'prompts' (提示模板), 'resources' (资源管理,例如数据集和模型)。
- 'protocol': 通信协议,默认为 'json-rpc'。
- 'transport': 传输协议,默认为 'stdio',也可以根据需要配置为 'sse' 或 'websocket' (如果服务器支持)。
scripts/start_mcp.sh 脚本内容 (供参考):
#!/bin/bash echo "🚀 Starting MCP Server..." /path/to/your/venv/bin/python -m uvicorn src.mcp_server:app --reload
注意: 请将 '/path/to/your/venv/bin/python' 替换为你的 Python 虚拟环境路径,或者直接使用系统 Python 环境(如果 'uvicorn' 已全局安装)。
基本使用方法
-
启动 MCP 服务器 根据上述服务器配置,MCP 客户端会调用 'bash scripts/start_mcp.sh' 命令来启动服务器。请确保脚本中的 Python 路径正确配置。
-
使用客户端发送请求 MCP 客户端可以通过 JSON-RPC 协议向服务器发送请求。例如,要将 API 文档 "GET /users/{id} Retrieves user details" 转换为 cURL 命令,可以向 '/generate_curl/' 接口发送 POST 请求,请求体为 JSON 格式:
{ "api_text": "GET /users/{id} Retrieves user details" }服务器将返回 JSON-RPC 响应,其中包含生成的 cURL 命令:
{ "curl_command": "curl -X GET 'https://api.example.com/users/123' -H 'Authorization: Bearer TOKEN'" }更详细的 API 接口信息,请参考 'src/mcp_server.py' 文件和 FastAPI 自动生成的 API 文档 (通常在服务器启动后访问 'http://127.0.0.1:8000/docs' 或 'http://127.0.0.1:8000/redoc')。
注意: 本项目主要关注 API 到 cURL 命令的转换,其 MCP 服务器的实现可能相对简化,侧重于提供工具 (cURL 命令生成) 功能。在实际应用中,可以根据 MCP 的完整定义,扩展资源管理、Prompt 模板等功能。
信息
分类
开发者工具