api-testing-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@api-testing-mcpTest the GET /users endpoint"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Node.js: v18.0.0 or higher.
npm: Comes with Node.js.
VS Code: MCP-compatible client.
Github Copilot: Make sure the GitHub Copilot extension is installed and enabled in VS Code. Watch the video to understand how to enable Github Copilot: https://www.youtube.com/watch?v=etP5wq4Zl20
How to use Github Copilot for free Watch the Video: https://www.youtube.com/watch?v=X_Aet9ndh_Y
๐ Setup
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 -yThis will generate a package.json file with default settings
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
Open your project folder in VS Code
If the
mcp.jsonfile does not already exist, create it inside theroot/.vscode/directory. If the file is already present, you can skip this stepAdd the
api-testing-mcpconfiguration under theserverskey in themcp.jsonfile, 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 theargsfield in yourmcp.jsonfile is correctly configured. Refer to the Monorepo MCP Configuration guide for detailed instructions. If your test code resides in astandalonerepository, no changes are needed, you are good to go.
๐ Getting started with MCP testing
Start the MCP Server
Click the highlighted start button in the mcp.json file as shown below to start the MCP server.
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
Scenario 1 : To test all endpoints in one go.
Scenario 2 : To test a single endpoint.
โญ๏ธ 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
Review this guide and your MCP client documentation.
For issues, open GitHub Issues here.
Consult Model Context Protocol Documentation.
๐ Enjoy exploring and validating your APIs !
Available Tools
4 toolssend-delete-requestDDestructive
send the delete request
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| headers | No | ||
| pathParams | No | ||
| queryParams | No | ||
| timeout | No |
TDQS
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.
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.
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.
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.
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.
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-requestCRead-onlyIdempotent
send the get request
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| headers | No | ||
| pathParams | No | ||
| queryParams | No | ||
| timeout | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| data | No | ||
| headers | No | ||
| timeout | No |
TDQS
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.
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.
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.
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.
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.
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-requestDIdempotent
send the put request
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| data | No | ||
| headers | No | ||
| pathParams | No | ||
| queryParams | No | ||
| timeout | No |
TDQS
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.
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.
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.
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.
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.
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.
4 tool updates
v0.0.19- First observed
send-delete-request - First observed
send-get-request - First observed
send-post-request - First observed
send-put-request
TDQS
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.
All tools follow a consistent pattern: 'send-{method}-request' with lowercase and hyphens, ensuring predictability.
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.
The set covers the most common HTTP methods, but omits PATCH and other less common ones. For basic testing, it is sufficiently complete.
Maintenance
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
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
AI-callable tools for API mocking, testing, monitoring, security, and automation.
End-to-end API testing โ generate and run tests from OpenAPI, curl, Postman, or real user traffic.
Build, validate, deploy โ HTTP APIs, cron jobs, webhooks and MCP tools โ from your AI client.
Related MCP Servers
- AlicenseBqualityDmaintenanceA 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.3218,1225,637MIT
- FlicenseNot gradedqualityDmaintenanceProvides a server utilizing Model Context Protocol to enable human-like browser automation with Playwright, allowing control over browser actions such as navigation, element interaction, and scrolling.8-
- AlicenseBqualityDmaintenanceA 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.3218,122MIT
- AlicenseNot gradedqualityCmaintenanceA minimal server that exposes Playwright browser automation capabilities through a simple API, enabling webpage interaction, DOM manipulation, and content extraction via the Model Context Protocol.5MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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