❝哈喽大家好,这里是你永远的.NET沙雕技术博主小智!今天要跟大家揭秘一款颠覆性工具,它能让AI模型与任意外部API亲密无间,化身百变数码宝贝,说走就走说调就调——只要你本地敢有Swagger,MCPP.Net就敢让AI随便用。你说爽不爽?!
“老铁们有没有发现,现在的AI模型像是牢笼里的侍者——再聪明也只能在它自己的能力圈内转悠,想让它跟现实世界交互一下咋那么麻烦?”
想想看,大部分第三方桌面工具/数据服务/微服务……无非就是提供若干RESTful API,把它们串起来本该so easy。可是你每次都得用Python手撸个client,或者复制粘贴Postman代码段,或者专门魔改AI工具链……
理想:AI直接接管所有API,自动帮我扫码点餐、买票、订酒店、搬数据、调度批量服务。
现实:AI说“你谁啊,这个API我不认识。”
扎心不?
这就像给你一套钢琴八级谱,却不给88键钢琴,让你用口风琴吹着玩——气不气?!
MCPP.Net,一个基于.NET 8的Model Context Protocol (MCP) 服务器实现,让你瞬间拥有神笔马良之手:
它能把任意遵循OpenAPI/Swagger规范的API,秒变MCP工具
AI模型通过MCP协议能直接访问这些API,不需要脑补接口说明,直接“干就完了”
支持Swagger URL导入、自动生成、热插拔,无需重启,一开即用
简而言之:只要对方有Swagger文档,MCPP.Net就能把它“喂”进AI系统,AI立马变身“万事通小能手”,自动获得各种API调用的超能力!
来,一口气盘它所有“骚”功能:
动态Swagger导入
甭管是远程URL还是本地swagger.json,一键导入,动态解析。
自动工具生成
直接把每个API端点变成“AI专用工具”,自动适配MCP协议,不用手写Client。
即插即用
工具一旦导入,无需重启/热加载,立马就能被AI调度,爽飞!
原生Swagger UI支持
不仅AI能读懂,人类也能直接用Swagger UI测试一把,看得明明白白。
便捷工具管理
可查看、删除已导入的所有“工具”,想用就用,想删就删,灵活自如。
完整实现MCP协议
MCP是什么?下文细聊,但一句话:AI界“统一API调度口令”,有它就对了。
你是不是脑子里已经冒出好多用途?哈哈,别急,还有硬核部分!
MCPP.Net是“工地打桩,C#开荒”的正统:
.NET 8
ASP.NET Core Web API
ModelContextProtocol(MCP核心库)
Swashbuckle.AspNetCore(Swagger自动生成)
Newtonsoft.Json(老朋友,谁用谁说轻松)
代码现代、可维护,就算你是块“前端砖”,也能轻松进坑!
AI工具接API,手撸Client多麻烦?
如果AI要调用XXX数据服务,并不是所有AI平台都支持灵活扩展,还得额外开发桥接,维护成本高不说,换个API直接全盘重写……
OpenAPI定义已经天下通用,为什么AI模型“视而不见”?
明明有详细API描述,AI模型也能“理解文本”,可惜协议不统一,换个平台又得重新造轮子。
业务团队和AI团队沟通成本大
要能让AI直接无障碍操作后端API,难道非得码农们通宵加班么?不能“一件接入、AI秒用”?
所以,MCPP.Net出现,就是为了解决这场“沟通成本灾难”,让AI自动学会用你的API,彻底打通最后一公里!
顺便补个小科普:Model Context Protocol (简称MCP),它的定位有点像AI界的“万用遥控器”。
允许AI在“推理时候”灵活组合任意外部API,像人类一样自由玩转工具链。
明确“工具”/“上下文”/“调用时序”,实现真正的模块化AI交互。
各种大模型、新兴AI框架都在逐渐兼容(领域标准逐步形成中)。
简而言之:有MCP,AI就能盲盒式激活各种外挂技能!打通了AI、API、业务场景三者之间的“天堑”。
git clone https://github.com/yourusername/MCPP.Net.git
cd MCPP.Net
dotnet build src/MCPP.Net
dotnet run --project src/MCPP.Net
顺利的话,服务默认跑在https://localhost:7103/
下,手动访问一把
https://localhost:7103/swagger/index.html
看到Swagger UI了吧? 你没看错,前后端同欢!
比如要让AI懂得 PetStore API(宠物店官方示例) 怎么玩?
只需 POST 一下 /api/Import/Import
:
{
"swaggerUrl": "https://petstore.swagger.io/v2/swagger.json",
"sourceBaseUrl": "https://petstore.swagger.io/v2",
"nameSpace": "PetStore",
"className": "PetStoreApi"
}
系统将自动帮你:
下载Swagger定义
分析所有API端点
生成MCP协议的工具类
注册到AI工具池
成就感爆棚,返回:
{
"success": true,
"apiCount": 20,
"toolClassName": "PetStoreApi",
"importedApis": ["getPet", "updatePet", "..."]
}
20个端点,统统在AI“指间跳舞”!一秒钟,形象“降维攻击”,老板看了都得说一句“WELL DONE!”
已导入工具列表?只需
GET /api/Import/GetImportedTools
想“辞退”哪个工具?比如PetStoreApi
,那就:
DELETE /api/Import/DeleteImportedTool?nameSpace=PetStore&className=PetStoreApi
干净利落,前景无忧!
没错,只要你有MCP客户端(支持SSE的那个),可以直接接入/sse
通道,然后POST消息到/message
端点,就能跟你的API工具“零距离”对话!
Controllers/
—— 放API控制器
ImportController.cs
(Swagger导入团队主力军)
Services/
—— 放所有业务服务代码
SwaggerImportService.cs
(导入+动态类型生成)
ImportedToolsService.cs
(统筹所有已导入工具)
McpServerMethodRegistry.cs
(MCP方法注册与管理)
Models/
—— 所有数据模型定义
SwaggerImportModels.cs
ImportedSwaggers/
—— 放你吃过的所有Swagger定义
ImportedTools/
—— 所有已生成并编译好的“AI专用工具类”
你能看到,分工明确,结构井然,“面向未来可二开的代码艺术”,妥妥的!
AI研究员:“终于不用再手撸无聊的API桥接了,业务同事上swagger我直接秒对接!”
API开发者:“我们只要标Swagger,AI端直接能用,再也没人逼我写N种SDK!”
团队管理者:“极大缩短研发周期,各类工具一键串联,想扩能扩想走就走!”
社区大佬:“贡献代码体验超棒,架构清晰,未来想对接LangChain、AutoGen或自研AI都极其方便!”
别独占宝藏,社区氛围才是持久力!
强烈推荐你这样参与:
有问题? → 直接提issue
想添新功能? → fork一把、写好PR
重大改动? → 先开issue讨论方案,尊重大家金点子
全MIT许可证,想怎么玩就怎么玩,二开、魔改、集成大模型平台全都可以!
世界已经被API所连接,AI正成为新时代的“超级调用者”。MCPP.Net这把钥匙,能让AI绕开语言障碍、协议壁垒,只要你有Swagger,AI就是你的“万能小工”,随叫随到,永不疲劳。
想象下,你的AI自动会用ERP、CMS、数据库、各种平台,省下多少“二开工期”,能搞多少创新场景?
MCPP.Net向你递出未来工厂的“总闸开关”!
❝强烈建议收藏&转发本文,也欢迎你留言讨论奇思妙想!——让我们一起掀起“API融合AI”的新浪潮!
项目开源地址,请让它入驻你的收藏库:
https://github.com/yourusername/MCPP.Net
——你关心的,就是我下一篇爆文的灵感!