关于 MCP
一个使用 Connect API 构建客户端和服务端的示例项目,也展示将 Swagger 操作注册为 Chatlas 工具,并包含 Shiny 应用示例。
主要功能
- 01Connect API 客户端与服务端
- 02映射 Swagger 操作
- 03注册 Chatlas 工具
- 04Shiny 应用示例
适用场景
- 01运行示例服务端和客户端
- 02将 Swagger 操作作为工具提供
- 03使用本地 OpenAPI 服务进行测试
- 04运行 Shiny 应用
MCP 相关
项目包含使用 Connect API 的 MCP 服务和客户端,还展示如何将 Swagger 操作注册为 Chatlas 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP
使用 Connect API 的客户端和服务端简单示例。
使用方法
运行 MCP 服务:
CONNECT_API_KEY="<your key>" SWAGGER_FILE="swagger.yaml" make server
然后运行 MCP 客户端:
make client
修改 app.py 主函数中的聊天内容,以提出不同的问题。
Swagger 使用方法
下面的代码片段展示了如何使用 Chatlas 注册 Swagger 工具。
import chatlas
import requests
from openapi_mcp.chatlas import SwaggerTool
from openapi_mcp.connect_api import map_operations_to_tools
from openapi_mcp.swagger import (
expand_all_references,
transform_swagger_to_operation_dict,
)
api_url = "127.0.0.1:8000/"
openapi_dict = requests.get(f"{api_url}/swagger.json").json()
openapi_doc = expand_all_references(openapi_dict)
operations = transform_swagger_to_operation_dict(openapi_doc)
tools = map_operations_to_tools(operations)
aws_model = os.getenv("AWS_MODEL", "us.anthropic.claude-3-5-sonnet-20241022-v2:0")
aws_region = os.getenv("AWS_REGION", "us-east-1")
chat = chatlas.ChatBedrockAnthropic(model=aws_model, aws_region=aws_region)
for operation in api_operations.values():
SwaggerTool.register_tool(
chat,
SwaggerTool(
base_url=api_url,
operation=operation,
),
)
要查看实际效果,请运行本地兼容 OpenAPI 的服务并启动 Shiny 应用:
# Run the OpenAPI-compatible server
make ex-starwars
# Run Shiny
make shiny

评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。