Skip to main content
Glama
Naveen-Automation

api-testing-mcp

API Testing Using MCP Server (End User Guide)

A ready-to-use Model Context Protocol (MCP) server for HTTP API testing, powered by Playwright. This guide helps you install, configure, and run the MCP server locally as an npm package.

๐Ÿ“‹ Table of Contents

Related MCP server: Playwright MCP Server

๐ŸŒŸ Overview

The Playwright API MCP Server enables API testing via the Model Context Protocol. It supports GET, POST, PUT, and DELETE requests.

๐Ÿ“‹ Prerequisites

๐Ÿš€ Setup

  1. Create a Node.js Project in VS Code:

    • Create a new folder with a meaningful name (e.g. my-project).

    • Open the folder in Visual Studio Code.

    • Launch the integrated terminal (via View > Terminal).

    • Choose your preferred shell (e.g. Git Bash, Command Prompt, or PowerShell).

    • Run the following command to initialise the project:

      npm init -y
    • This will generate a package.json file with default settings

  1. Install the MCP Server Package

    • Now, run the below command to install the mcp server package.

      npm i @automate-io/api-testing-mcp@latest

โš™๏ธ Configurations

  1. Open your project folder in VS Code

  2. If the mcp.json file does not already exist, create it inside the root/.vscode/ directory. If the file is already present, you can skip this step

  3. Add the api-testing-mcp configuration under the servers key in the mcp.json file, as shown below

    {
      "servers": {
        "api-testing-mcp": {
          "type": "stdio",
          "command": "node",
          "args": ["node_modules/@automate-io/api-testing-mcp/dist/server.js"],
          "cwd": "${workspaceFolder}"
        }
      },
      "inputs": []
    }
  • โ—Important Note:If you are working in a monorepo, ensure the args field in your mcp.json file is correctly configured. Refer to the Monorepo MCP Configuration guide for detailed instructions. If your test code resides in a standalone repository, no changes are needed, you are good to go.

๐Ÿ“– Getting started with MCP testing

  1. Start the MCP Server

  • Click the highlighted start button in the mcp.json file as shown below to start the MCP server.

  1. Input the prompt

  • Open GitHub Copilot chat window in VS Code with Agent mode selected.

  • Enter a prompt that outlines the API you wish to test.

โœ… Example scenarios and prompts for MCP server usage

โญ๏ธ Upcoming enhancements

  • Implement schema validations for response payloads

  • Add reusable resources to support API testing workflows

  • Introduce predefined prompts to streamline common scenarios

  • Provide a sample HTML test report template to guide LLm about the layout and formatting

  • Refactor existing logic and implement robust error handling to improve reliability and maintainability

๐Ÿ”ง Troubleshooting

  • Server not running?
    Double-check your MCP client configuration.

  • Module not found?
    Reinstall the package:

    npm i @automate-io/api-testing-mcp@latest

๐Ÿ†˜ Support


๐Ÿ‘ Enjoy exploring and validating your APIs !

Available Tools

4 tools
send-delete-requestD
Destructive

send the delete request

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
headersNo
pathParamsNo
queryParamsNo
timeoutNo

TDQS

D1.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral information beyond what is already indicated by the destructiveHint=true annotation. It does not explain side effects, idempotency, or typical response characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While the description is short, it is under-specified and fails to convey necessary information. True conciseness retains value while removing fluff; here, the value is missing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters, no parameter documentation, and no output schema, the description is completely inadequate. It does not clarify the request format, expected outcomes, or error handling, making it almost useless for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description should compensate by explaining parameters, but it does not. Parameters like url, headers, and timeout are not elaborated, leaving the agent with no guidance on how to use them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description merely restates the tool's name ('send the delete request') without adding any specificity about what the tool actually does. It distinguishes the HTTP method from siblings but provides no additional clarity beyond the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like send-get-request or send-post-request. There is no mention of appropriate contexts, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send-get-requestC
Read-onlyIdempotent

send the get request

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
headersNo
pathParamsNo
queryParamsNo
timeoutNo

TDQS

C2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description does not contradict annotations but adds no additional behavioral context beyond the bare method.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise (5 words) but at the cost of informativeness. It is under-specified rather than efficiently informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With five parameters, no output schema, and zero parameter explanations, the description is completely inadequate for the agent to understand the tool's behavior or how to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no explanation of any parameters (url, headers, pathParams, etc.). The agent receives no semantic guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'send the get request' is vague and almost tautological. It states the method (GET) but does not specify what the request does, what it returns, or how it differs from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs. alternatives (e.g., send-post-request). The description does not mention that it is for read-only operations or any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send-post-requestD

send the post request

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
dataNo
headersNo
timeoutNo

TDQS

D1.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate it's not read-only (destructiveHint=false) but description adds no behavioral details like error handling, response format, or idempotency. Minimal context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely brief but not concise in a helpful wayโ€”lacks essential information. Not front-loaded with key purpose or usage details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, no output schema, and no behavioral details, the description is severely incomplete. Does not equip agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage for 4 parameters (url, data, headers, timeout). Description does not explain their purpose, format, or constraints, leaving the agent without guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description 'send the post request' is a tautology, restating the tool name without specifying what sending a POST request actually does (e.g., creates resources, submits data). No distinction from sibling HTTP method tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings (send-get-request, send-put-request, etc.). No context on idempotency, side effects, or appropriate use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send-put-requestD
Idempotent

send the put request

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
dataNo
headersNo
pathParamsNo
queryParamsNo
timeoutNo

TDQS

D1.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare idempotentHint=true, but the description adds no behavioral context beyond what the annotations already provide. No mention of effects on server state, auth needs, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While extremely concise, the description is under-specified rather than efficiently informative. It lacks structure, providing only a single sentence that adds no value beyond the name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters, no output schema, and zero parameter descriptions, the description is severely incomplete. It fails to equip the agent for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and no parameter details in the description, the agent receives no information about what 'url', 'data', 'headers', etc., mean or how to use them. This is a critical gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'send the put request' is a tautology of the tool name and does not specify what resource or endpoint is affected. It barely distinguishes from sibling tools (send-post-request, etc.) by only mentioning the HTTP method.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus its siblings (POST, GET, DELETE). The description lacks context about idempotency or prerequisites, leaving the agent without decision criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv0.0.19
    • First observedsend-delete-request
    • First observedsend-get-request
    • First observedsend-post-request
    • First observedsend-put-request

TDQS

C2.5/5.0
Disambiguation5/5

Each tool corresponds to a distinct HTTP method (DELETE, GET, POST, PUT) with no overlap, making it trivial for an agent to select the correct one.

Naming Consistency5/5

All tools follow a consistent pattern: 'send-{method}-request' with lowercase and hyphens, ensuring predictability.

Tool Count5/5

With 4 tools covering the main HTTP methods (CRUD), the count is well-suited for an API testing serverโ€”neither too few nor too many.

Completeness4/5

The set covers the most common HTTP methods, but omits PATCH and other less common ones. For basic testing, it is sufficiently complete.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides browser automation capabilities using Playwright. This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
    32
    18,122
    5,637
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, generate test code, scrape web content, and execute JavaScript in a real browser environment.
    32
    18,122
    MIT

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/Naveen-Automation/mcp-server'

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