Skip to main content
Glama
SHREELASYABEZAWADA

api-testing-agent

MCP API Testing Agent

Ein KI-gestützter API-Testagent, der das Model Context Protocol (MCP) nutzt, um die Erstellung, Ausführung und Fehleranalyse von API-Testfällen zu automatisieren.

Funktionsumfang

  1. Ermittelt Endpunkte aus einer OpenAPI/Swagger-Spezifikation (über ein MCP-Tool).

  2. Generiert für jeden Endpunkt positive und negative Testfälle und method Szenarien mithilfe eines LLM (LangChain + OpenAI) – gültige Eingaben, fehlende Pflichtfelder, falsche Typen, Grenzwerte, Authensizierungsfehler usw.

  3. Führt jested Test fall über die MCP-Tools gegen die Live-API aus, die Anfragen senden, Antworten validieren and and false HTTP-Tract codes analysieren.

  4. Analysiert Fehler, in dem die relative with den tatsächlichen Answeren abgleicht und das LLM bittet, zu erklären, warum ein Test fehgeschlagen ist und wie heavwiegend dies ist.

  5. Meldet Ergebniss als den strukturierter Markdown/JSON-Testbericht.

Ein FastAPI-Dienst kapselt die gesamtte Pipeline, sodass sie über HTTP (POST /agent/run) ausgelöst werden kann — z. B. aus CI, einem Scheduler oder einer UI — und der MCP-Server kann auch eigenständig ausgeführt werden integriert, or in available eener ser of them.

Hmm – I need to be careful with the previous vague parts. I'll now write the final text carefully as I have decided, without these errors.

Given time constraints, I'll produce the final response with the exact German translation as now established, ensuring each GXP appears alone per line.# MCP API Testing Agent

Ein KI-gestützter API-Testagent, der das Model Context Protocol (MCP) nutzt, um die Erstellung, Ausführung und Fehleranalyse von API-Testfällen zu automatisieren.

Related MCP server: MCP-QA

Funktionsumfang

  1. Ermittelt Endpunkte aus einer OpenAPI/Swagger-Spezifikation (über ein MCP-Tool).

  2. Generiert für jeden Endpunkt positive und negative Testszenarien mithilfe eines LLMs (LangChain + OpenAI) – gültige Eingaben, fehlende Pflichtfelder, falsche Typen, Grenzwerte, Authentifizierungsfehler usw.

  3. Führt jeden Testfall über MCP-Tools gegen die Live-API aus; die Tools senden Anfragen, validieren Antworten und analysieren HTTP-Statuscodes.

  4. Analysiert Fehler, indem die erwarteten mit den tatsächlichen Antworten abgeglichen werden und das LLM gebeten wird, um zu erklären, warum ein Test fehlgeschlagen ist und wie schwerwiegend dieser ist.

  5. Meldet Ergebnisse als strukturierter Markdown/JSON-Testbericht.

Ein FastAPI-Dienst kapselt die gesamte Pipeline, sodass sie über HTTP (POST /agent/run) ausgelöst werden kann – z. B. aus CI, einem Scheduler oder einer UI – und der MCP-Server kann auch eigenständig ausgeführt und in einen beliebigen MCP-kompatiblen Client (Claude Desktop, Claude Code usw.) eingebunden werden.

Architektur

┌─────────────────────┐      OpenAPI spec / target base URL
│   FastAPI Service    │◄──────────────────────────────────
│   (api/main.py)      │
└──────────┬───────────┘
           │ triggers
┌──────────▼───────────┐
│   Testing Agent        │
│   (agent/*.py)         │
│                         │
│  1. TestGenerator       │──uses──► OpenAI (LangChain)
│     (positive/negative  │
│      scenarios)         │
│                         │
│  2. TestExecutor        │──calls──► MCP Client ──stdio──► MCP Server
│     (runs each case)    │                                  │
│                         │                          ┌───────┴────────┐
│  3. FailureAnalyzer     │                          │  MCP Tools:     │
│     (LLM explains diff) │                          │  - discover_    │
│                         │                          │    endpoints    │
│  4. ReportGenerator     │                          │  - send_request │
│     (md/json report)    │                          │  - validate_    │
└─────────────────────────┘                          │    response     │
                                                       │  - analyze_    │
                                                       │    status_code │
                                                       └────────┬───────┘
                                                                │ HTTP
                                                       ┌────────▼───────┐
                                                       │  Target API     │
                                                       │  (any REST API, │
                                                       │  e.g. sample_   │
                                                       │  target_api/)   │
                                                       └─────────────────┘

Projektstruktur

mcp-api-testing-agent/
├── mcp_server/
│   ├── server.py               # MCP server (FastMCP) exposing the 4 tools
│   └── tools/
│       ├── discover.py         # discover_endpoints — parses OpenAPI spec
│       ├── request_tool.py     # send_request — issues HTTP calls
│       ├── validate.py         # validate_response — schema/status checks
│       └── status_analyzer.py  # analyze_status_code — status code semantics
├── agent/
│   ├── mcp_client.py           # stdio MCP client used by the agent
│   ├── test_generator.py       # LLM-based positive/negative test generation
│   ├── test_executor.py        # runs generated test cases via MCP tools
│   ├── failure_analyzer.py     # LLM explains expected-vs-actual mismatches
│   └── report_generator.py     # Markdown + JSON report writer
├── api/
│   └── main.py                  # FastAPI app: POST /agent/run, GET /agent/reports/{id}
├── schemas/
│   └── models.py                # Pydantic models shared across the app
├── sample_target_api/
│   └── demo_api.py              # tiny FastAPI service to test the agent against
├── scripts/
│   └── run_agent.py             # CLI entrypoint (no FastAPI needed)
├── reports/                     # generated test reports land here
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
└── .env.example

Einrichtung

python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env   # add your OPENAI_API_KEY

Demo-Ziel-API ausführen (eine kleine Beispiel-API als Testgegenstand)

uvicorn sample_target_api.demo_api:app --port 9000

Damit wird eine kleine Beispiel-API („Task Manager“) bereitgestellt, die mit /tasks-CRUD-Endpunkten und einer generierten OpenAPI-Spezifikation unter http://localhost:9000/openapi.json arbeitet.

Agent per CLI ausführen

python scripts/run_agent.py --spec http://localhost:9000/openapi.json --base-url http://localhost:9000

Dabei werden Testfälle generiert, ausgeführt, etwaige Fehler analysiert und ein Bericht unter reports/report_<timestamp>.md und .json geschrieben.

Agent als HTTP-Dienst ausführen

uvicorn api.main:app --port 8000
curl -X POST http://localhost:8000/agent/run \
  -H "Content-Type: application/json" \
  -d '{"spec_url": "http://localhost:9000/openapi.json", "base_url": "http://localhost:9000"}'

MCP-Server eigenständig ausführen

Um die Tools anstelle des eingebauten Agenten in einen MCP-kompatiblen Client (Claude Desktop, Claude Code usw.) einzubinden:

python -m mcp_server.server

Fügen Sie den Server anschließend zu Ihrer MCP-Client-Konfiguration hinzu, z. B. für Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "api-testing-agent": {
      "command": "python",
      "args": ["-m", "mcp_server.server"],
      "cwd": "/absolute/path/to/mcp-api-testing-agent"
    }
  }
}

Alles mit Docker ausführen

docker compose up --build

Dies startet die Demo-Ziel-API, den MCP-gestützten FastAPI-Dienst des Testagenten und bindet ./reports ein, sodass die generierten Berichte auf dem Host verfügbar sind.

Beispiel für die Berichtsausgabe

# API Test Report — 2026-02-03T10:15:00

Target: http://localhost:9000
Total: 18   Passed: 15   Failed: 3   Pass rate: 83%

## Failures

### POST /tasks — missing required field "title" (negative test)
Expected: 422 Unprocessable Entity
Actual:   500 Internal Server Error
Analysis: The endpoint does not validate the request body before hitting the
database layer, so a missing "title" causes an unhandled exception instead
of a client-error response. Severity: High — indicates missing input
validation.

Hinweise zur Anpassung an ein echtes Projekt

  • Tauschen Sie sample_target_api/ gegen Ihren realen Dienst oder setzen Sie --spec / spec_url auf einen beliebigen Live-OpenAPI/Swagger-JSON-Endpunkt.

  • Der Prompt von test_generator.py kann um Domänenregeln erweitert werden (z. B. erforderliche Auth-Header, Rate Limits, Tenant-IDs).

  • Führen Sie scripts/run_agent.py als Pipeline-Schritt in der CI aus und lassen Sie den Build fehlschlagen, wenn report["summary"]["failed"] > 0 rien.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for the comprehensive analysis of Swagger 2.0 and OpenAPI 3.x contracts. It allows users to extract detailed information about endpoints, request/response schemas, parameters, and security configurations from API documentation.
  • A
    license
    A
    quality
    F
    maintenance
    MCP server for API test case generation from Swagger/OpenAPI specs. Parses Swagger 2.0 and OpenAPI 3.x, generates test cases across 8 categories (positive, negative, boundary, auth, security, idempotency, pagination, business logic), and exports to Postman, TestRail, Allure, k6, pytest, Gherkin, and CSV. Supports internal corporate APIs with auth headers. Auto-saves export files to your working di
    10
    11
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Parses Swagger 2.0 and OpenAPI 3.x specifications, exposing API endpoints, schemas, and authentication through MCP tools with local caching to reduce token usage.
    11
    16
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for AI access to Swagger by SmartBear.

  • APIs.guru MCP — keyless directory of 2,500+ public APIs and their OpenAPI specs.

  • Search, document and execute authenticated API calls across 700+ apps via one MCP server

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SHREELASYABEZAWADA/Mcp-Api-Testing-Agent--Model-Context-Protocol'

If you have feedback or need assistance with the MCP directory API, please join our Discord server