Token导航 LogoToken导航TokenDH.com
API Testing Automata logo
AI代理stdio官方级别未说明来源级核验

API Testing Automata

MCP Server

一个强大的工具,用于从API规范自动生成模型上下文协议(MCP)服务器,适用于AI代理和LLM应用。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
API测试AI代理PythonLLM应用自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

SohhamS

提供方

SohhamS

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

API测试自动机

一个强大的工具,用于根据API规范自动生成模型上下文协议(MCP)服务器。该系统允许您快速将任何API转换为符合MCP的服务器,该服务器可与AI代理和LLM应用程序一起使用。

🌟 特性

  • 多格式支持:解析OpenAPI/Swagger文件、URL或自定义JSON格式
  • 自动生成刀具:将API端点转换为具有正确架构的MCP工具
  • 身份验证处理:支持API密钥、承载令牌和基本身份验证
  • 代码导出:生成独立的Python MCP服务器
  • 验证:生成前验证API规范
  • 丰富的CLI:带有进度指示器的漂亮命令行界面
  • 文档:自动生成全面的API文档

🚀 快速开始

安装

  1. 克隆存储库:
git clone 
cd "API Testing Automata - Basic Backend"
  1. 安装依赖项:
pip install -r requirements.txt

基本用法

  1. 从OpenAPI URL生成:
python main.py generate https://petstore.swagger.io/v2/swagger.json --output petstore_server.py
  1. 从自定义JSON生成:
python main.py generate examples/open_meteo_api/open_meteo_api.json --output examples/open_meteo_api/open_meteo_api_mcp_server.py
  1. 验证API规范:
python main.py validate examples/open_meteo_api/open_meteo_api.json
  1. 参见示例:
python main.py example

📋 输入格式

1.OpenAPI/Swagger格式

标准OpenAPI 2.0/3.0 JSON或YAML文件:

python main.py generate openapi.json
python main.py generate https://api.example.com/swagger.json

2.自定义JSON格式

使用简化的自定义格式快速定义API:

{
  "name": "My API",
  "version": "1.0.0",
  "description": "Example API",
  "base_url": "https://api.example.com",
  "auth": {
    "type": "api_key",
    "api_key_header": "X-API-Key"
  },
  "api": [
    {
      "name": "get_users",
      "endpoint": "/users",
      "method": "GET",
      "description": "Get all users",
      "input_schema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Maximum number of users"
          }
        }
      },
      "output_schema": {
        "type": "array",
        "items": {"type": "object"}
      }
    }
  ]
}

🛠️ MCP生成器的功能

MCP生成器是将API规范转换为功能性MCP服务器的核心组件。以下是它的详细功能:

1. 工具定义生成

对于每个API端点,它会创建一个MCP工具,其中包含:

  • 名字:从端点操作ID或路径派生
  • 描述:使用API的描述来理解LLM
  • 输入架构:将API参数转换为JSON架构格式
  • 处理程序函数:生成Python代码以执行API调用

2. 架构转换

  • 将OpenAPI参数模式转换为MCP兼容的JSON模式
  • 处理路径参数、查询参数和请求体
  • 确保LLM使用的正确类型验证和描述
  • 将API响应模式映射到结构化输出格式

3. 身份验证集成

  • 从API规范中检测身份验证要求
  • 生成API密钥、承载令牌和基本身份验证的代码
  • 处理标头注入和凭据管理
  • 支持全局和每个端点的身份验证

4. 请求/响应处理

  • 为每个端点生成HTTP客户端代码
  • 处理带有路径参数替换的URL构造
  • 管理查询参数和请求正文
  • 处理响应并构建它们以供LLM使用
  • 包括全面的错误处理

5. 附加功能

  • 辅助工具:生成实用工具,如 list_available_endpointsget_endpoint_schema
  • 资源:为API文档创建MCP资源
  • 验证:包括输入验证和错误处理
  • 文档:自动生成全面的API文档

6. 代码生成过程

生成器为每个端点创建这样的Python函数:

async def call_get_users(**kwargs):
    """Get all users - Auto-generated tool handler for GET /users"""
    import requests
    import json
    
    try:
        # Extract and validate parameters
        limit = kwargs.get('limit')
        query_params = {}
        if limit is not None:
            query_params['limit'] = limit
        
        # Setup authentication
        headers = {}
        api_key = kwargs.get('api_key') or 'YOUR_API_KEY'
        headers['X-API-Key'] = api_key
        
        # Make the API request
        base_url = 'https://api.example.com'
        url = base_url.rstrip('/') + '/users'
        response = requests.get(url, params=query_params, headers=headers, timeout=30)
        response.raise_for_status()
        
        # Process response
        result_data = response.json()
        result = {
            'success': True,
            'status_code': response.status_code,
            'data': result_data,
            'endpoint': 'get_users',
            'method': 'GET',
            'url': url
        }
        return result
        
    except requests.RequestException as e:
        return {"error": f"API request failed: {str(e)}", "success": False}
    except Exception as e:
        return {"error": f"Tool execution failed: {str(e)}", "success": False}

建筑

API Testing Automata - Basic Backend/
├── api_to_mcp/          # Core generator package
│   ├── __init__.py      # Package initialization
│   ├── models.py        # Data models (Pydantic)
│   ├── parser.py        # Input parsing module
│   └── generator.py     # MCP server generation
├── main.py              # CLI interface
├── executor.py          # Executes generated MCP servers
├── orchestrator.py      # Orchestrates test generation and execution
├── examples/
│   └── open_meteo_api.json # Example custom format
├── requirements.txt     # Dependencies
└── README.md            # This file

关键部件:

  1. API解析器:处理各种输入格式的解析
  2. MCP发生器:创建MCP服务器的核心生成器
  3. 模型:用于验证和类型安全的Pydantic模型
  4. 命令行界面:丰富的命令行界面,易于使用

🔐 身份验证支持

系统支持多种身份验证方式:

  • API密钥:基于标头的API密钥身份验证
  • 承载令牌:JWT或基于令牌的身份验证
  • 基本认证:用户名/密码验证
  • 无身份验证:用于公共API

身份验证可以全局指定或按端点指定。

📊 生成的MCP服务器功能

生成的MCP服务器包括:

工具

  • 每个API端点一个工具
  • list_available_endpoints:列出所有可用工具
  • get_endpoint_schema:获取任何端点的详细架构

资源

  • api_documentation:以降价格式提供完整的API文档

免责声明:

这是一项正在进行的工作,尚未准备好投入生产使用。此外,自述文件是使用AI生成的,因此可能不准确。

目录标签

目录标签

API测试AI代理PythonLLM应用自动化本地部署自动化工具MCP服务器

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP