项目简介

AppDog 是一个强大的工具,旨在简化 Model Context Protocol (MCP) 服务器的构建过程。它允许开发者通过提供标准的 OpenAPI 规范,自动生成可供大型语言模型 (LLM) 客户端调用的 MCP 服务器。AppDog 将您的 RESTful API 转化为 LLM 可以理解和交互的“资源”和“工具”,从而为 LLM 应用程序提供标准化、可扩展的上下文服务框架。

主要功能点

  • 从 OpenAPI 生成: 轻松将任何 OpenAPI (Swagger) 规范转换为可用的 MCP 服务器代码。
  • 快速部署: 通过简单的命令即可快速设置和启动 MCP 服务器。
  • 异步支持: 生成的服务器具备异步处理能力,高效应对并发请求。
  • Python 生态: 基于 Python 构建,方便与现有 Python 项目集成。
  • MCP 集成: 深度整合 Model Context Protocol,提供资源托管、工具注册等核心功能。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/Arya711139/appdog.git
    cd appdog
  2. 安装依赖: 确保您的系统已安装 Python 3.7 或更高版本以及 pip。
    pip install -r requirements.txt
  3. 运行 AppDog:
    python appdog.py
    或者,如果已通过 'pip install .' 安装,可以直接使用 'appdog' 命令。

MCP 服务器配置

MCP 客户端需要知道如何启动和连接到 AppDog 生成的 MCP 服务器。以下是 MCP 客户端配置 AppDog 服务器的示例(JSON 格式):

{
  "server name": "您的服务器名称",
  "command": "appdog",
  "args": [
    "mcp",
    "run",
    "--name",
    "您的服务器名称",
    "--transport",
    "stdio"
  ],
  "description": "一个由 AppDog 基于 OpenAPI 规范生成的 MCP 服务器。",
  "capabilities": {
    "resources": true,
    "tools": true,
    "prompts": false
  }
}
  • server name: 您为 MCP 服务器定义的唯一名称,例如 "PetStoreAPI"。
  • command: 启动 AppDog 的主命令,通常是 'appdog'。
  • args: 传递给 'appdog' 命令的参数列表。
    • 'mcp run': 告诉 AppDog 以生产模式运行 MCP 服务器。
    • '--name 您的服务器名称': 指定 MCP 服务器在运行时显示的名称。请替换为实际的服务器名称。
    • '--transport stdio': 指定服务器使用标准输入/输出 (stdio) 进行通信,这是 MCP 客户端通常的默认方式。
  • description: 服务器的功能描述。
  • capabilities: 服务器支持的能力声明。'resources' 和 'tools' 通常为 'true',因为 AppDog 会将 OpenAPI 定义的 HTTP GET 请求转化为资源,非 GET 请求转化为工具。'prompts' 如果您的 OpenAPI 规范没有提供相关的 Prompt 模板功能,则可以设为 'false'。

基本使用方法

  1. 初始化项目: 在您的工作目录中运行以下命令,初始化 AppDog 项目配置(会创建 'apps.yaml' 和 'apps.lock' 文件):
    appdog init
  2. 添加 API 规范: 添加一个基于 OpenAPI 规范的应用程序。例如,如果您有一个 'sample_api.yaml' 文件:
    appdog add my-api --uri sample_api.yaml --base-url http://localhost:8000
    其中 'my-api' 是您给这个应用程序的名称,'--uri' 指向您的 OpenAPI 规范文件或 URL,'--base-url' 是您的实际 API 服务地址。AppDog 会根据该规范在本地生成相应的 Python 客户端代码,并记录在项目配置中。
  3. 运行 MCP 服务器: 现在,您可以使用 'mcp run' 命令启动 AppDog 生成的 MCP 服务器,该服务器将托管 'my-api' 中定义的资源和工具。
    appdog mcp run --name MyAPIServer --transport stdio
    这将启动一个后台进程,MCP 客户端可以通过标准 I/O 与其通信。如果您想在开发模式下运行并开启调试功能,可以使用 'appdog mcp dev --name MyAPIServer'。

信息

分类

开发者工具