MCPP.Net是一个基于.NET 8的Model Context Protocol (MCP)服务器实现,支持将Swagger API动态转换为MCP工具,使AI工具能够通过MCP协议调用这些API。
MCPP.Net允许你将任意OpenAPI/Swagger定义的RESTful API服务动态转换为符合Model Context Protocol规范的工具,实现AI模型与外部服务的无缝集成。项目基于.NET 8构建,提供简单易用的API接口和Swagger UI。
克隆仓库
git clone https://github.com/yourusername/MCPP.Net.git
cd MCPP.Net
构建项目
dotnet build src/MCPP.Net
运行项目
dotnet run --project src/MCPP.Net
访问Swagger UI
https://localhost:7103/swagger/index.html
通过POST请求到 /api/Import/Import 导入Swagger:
{
"swaggerUrl": "https://petstore.swagger.io/v2/swagger.json",
"sourceBaseUrl": "https://petstore.swagger.io/v2",
"nameSpace": "PetStore",
"className": "PetStoreApi"
}
系统将自动:
导入成功后,返回导入结果:
{
"success": true,
"apiCount": 20,
"toolClassName": "PetStoreApi",
"importedApis": ["getPet", "updatePet", "..."]
}
/api/Import/GetImportedTools/api/Import/DeleteImportedTool?nameSpace=PetStore&className=PetStoreApiMCP客户端可以通过SSE连接到 /sse 端点,然后通过POST请求到 /message 端点发送消息。
ImportController.cs:处理Swagger导入相关APISwaggerImportService.cs:Swagger导入和动态类型生成服务ImportedToolsService.cs:管理已导入的工具McpServerMethodRegistry.cs:MCP服务器方法注册SwaggerImportModels.cs:导入相关模型定义欢迎提交问题报告和合并请求。对于重大更改,请先开issue讨论您想要更改的内容。
No configuration available
Related projects feature coming soon
Will recommend related projects based on sub-categories