mcpField
M
MCP

MCP

本地服务
github.com/mconflitti-pbc开发工具094 周前更新

关于 MCP

一个使用 Connect API 构建客户端和服务端的示例项目,也展示将 Swagger 操作注册为 Chatlas 工具,并包含 Shiny 应用示例。

主要功能

  1. 01Connect API 客户端与服务端
  2. 02映射 Swagger 操作
  3. 03注册 Chatlas 工具
  4. 04Shiny 应用示例

适用场景

  1. 01运行示例服务端和客户端
  2. 02将 Swagger 操作作为工具提供
  3. 03使用本地 OpenAPI 服务进行测试
  4. 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

Star Wars Shiny 应用演示截图

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

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