mcp-tester-helper
This server provides a unified MCP interface for AI-assisted infrastructure testing across multiple stands, with REST API calls, database queries, OpenSearch log analysis, service discovery, and health checksβall configured via a single config file and secured with server-side credentials.
REST API testing: Call any configured microservice endpoint with GET/POST/PUT/DELETE/PATCH, auto-authentication, optional body/headers, and automatic token refresh on 401.
PostgreSQL queries: Execute read-only SQL queries (wrapped in
BEGIN TRANSACTION READ ONLY) against a stand's database, with schema-qualified table names.OpenSearch search: Run full Query DSL searches across indices, with optional field filtering and index patterns.
OpenSearch index management: List available indices with doc counts/sizes and inspect field mappings.
Service discovery: List all configured stands and their services, database, and OpenSearch endpoints.
Health checks: Ping services, OpenSearch, and PostgreSQL to verify stand infrastructure availability and timing.
Multi-stand support: Switch between dev/test/staging/prod environments easily via config.
Security: Credentials stay server-side, responses are truncated to prevent token overflow, and SQL is read-only.
Allows searching OpenSearch indices with Query DSL, listing indices, and inspecting index mappings.
Allows executing read-only SQL queries on PostgreSQL databases with connection pooling and safety.
Click on "Deploy 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., "@mcp-tester-helper Run a health check on staging"
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.
mcp-tester-helper
A unified MCP (Model Context Protocol) server for multi-stand infrastructure testing: REST APIs, PostgreSQL databases, and OpenSearch β all through a single config file.
Built for DevOps, QA, and developers who need AI-assisted testing across multiple environments (stands).
Features
π Multi-stand β switch between dev / test / prod environments via config
π Secure auth β OAuth tokens and DB credentials stay server-side, never exposed in AI chat
π REST API β test any microservice endpoint with auto-authentication
π PostgreSQL β run SQL queries with connection pooling and read-only safety
π OpenSearch β search logs, list indices, inspect mappings via Query DSL
π Service Discovery β AI can list available stands and services
β€οΈ Health Checks β verify stand infrastructure availability
Related MCP server: Postmancer
Quick Start
npx -y mcp-tester-helper --config ./config.jsonConfiguration
MCP Client Setup
Add to your MCP client configuration (Claude Desktop, Antigravity, Cursor, etc.):
{
"mcpServers": {
"infra": {
"command": "npx",
"args": ["-y", "mcp-tester-helper", "--config", "/path/to/config.json"],
"env": {
"STAGING_USERNAME": "admin",
"STAGING_PASSWORD": "secret",
"REST_ENABLE_SSL_VERIFY": "false"
}
}
}
}Config File (config.json)
{
"stands": {
"dev": {
"auth": {
"url": "https://auth.dev.example.com/oauth/token",
"type": "json",
"user": "DEV_USERNAME",
"pass": "DEV_PASSWORD"
},
"elastic": {
"url": "https://opensearch.dev.example.com:9200",
"user": "DEV_ELASTIC_USER",
"pass": "DEV_ELASTIC_PASS",
"indexPattern": "dev-dslog-*"
},
"database": {
"host": "db.dev.example.com",
"port": 5432,
"db": "dev_db",
"user": "DEV_DB_USER",
"pass": "DEV_DB_PASS"
},
"services": {
"billing": {
"url": "https://billing.dev.example.com/api",
"openapi": "api-docs/billing.json"
}
}
}
}
}Note: user and pass fields contain environment variable names, not actual credentials. Actual values come from .env file or MCP client env config.
Auth Types
Type | Description | Content-Type |
|
|
|
|
|
|
Environment Variables
Variable | Description | Default |
| Max response body size in bytes |
|
| Set to |
|
Tools Reference
test_request β HTTP API Calls
Test a REST API endpoint with auto-authentication.
{
"stand": "staging",
"service": "orders",
"method": "GET",
"endpoint": "/api/v1/health"
}Parameter | Required | Description |
| β | Target stand name |
| β | Service name from config, or |
| β |
|
| β | Path (e.g. |
| Request body (for POST/PUT/PATCH) | |
| Extra headers (don't pass Authorization) |
db_query β PostgreSQL Queries
Execute read-only SQL queries with connection pooling.
{ "stand": "staging", "query": "SELECT * FROM schema.table LIMIT 10" }All queries run inside
BEGIN TRANSACTION READ ONLYβ data modifications are blocked.
os_search β OpenSearch Query DSL
Search OpenSearch indices using the full Query DSL. index is optional if the stand's
elastic.indexPattern is configured β it's used as the default.
{
"stand": "staging",
"index": "app-logs-*",
"query_body": {
"query": { "match": { "level": "ERROR" } },
"size": 10,
"sort": [{ "@timestamp": "desc" }]
},
"fields": ["@timestamp", "message", "level"]
}os_indices β List OpenSearch Indices
{ "stand": "staging", "index_pattern": "app-logs-*" }os_mappings β Index Mappings
{ "stand": "staging", "index": "app-logs-2025.07" }list_services β Service Discovery
{ "stand": "staging" }Returns all services, database, and OpenSearch info for the stand.
health β Infrastructure Health Check
{ "stand": "staging", "target": "all" }Pings services, OpenSearch, and PostgreSQL. Returns status and timing for each.
Security
π Auth tokens are obtained automatically and cached server-side (with TTL)
π« Credentials never appear in tool responses sent to the AI
π Automatic token refresh on 401 responses
π All SQL queries are wrapped in read-only transactions
βοΈ Response bodies are truncated to prevent token overflow
Credits & Attribution
This project is built upon and inspired by the following open-source projects:
dkmaker/mcp-rest-api (MIT License) β REST API testing MCP server, used as the foundation for HTTP client and MCP server structure.
modelcontextprotocol/servers β server-postgres (MIT License) β Official PostgreSQL MCP reference implementation. Connection pooling and read-only transaction patterns.
elastic/mcp-server-elasticsearch (Apache-2.0 License) β Official Elasticsearch MCP server. Tool design for search, indices, and mappings (reimplemented from Rust to TypeScript for OpenSearch compatibility).
License
MIT
Available Tools
7 toolsdb_queryA
Execute a read-only SQL query against a stand's PostgreSQL database. Use schema-qualified table names (e.g. "SELECT * FROM orders.users").
Inputs: query (required), stand (required).
healthB
Check availability of a stand's infrastructure: services, OpenSearch, and PostgreSQL.
Inputs: stand (required), target.
list_servicesA
List available stands and their services, databases, and OpenSearch endpoints from the config file.
Inputs: stand.
os_indicesB
List available OpenSearch indices with doc counts and sizes.
Inputs: stand (required), index_pattern.
os_mappingsA
Get field mappings for a specific OpenSearch index.
Inputs: index (required), stand (required).
os_searchB
Search an OpenSearch index using Query DSL. Use for log analysis and data queries.
Inputs: index (required), stand (required), query_body (required), fields.
test_requestA
Test a REST API or OpenSearch endpoint on a specific stand. Auth is handled automatically.
Inputs: stand (required), method (required), service (required), endpoint (required), +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 7 tools
Each tool targets a distinct operation: infrastructure listing, health checking, endpoint testing, SQL queries, and three OpenSearch operations (indices, mappings, search). No two tools have overlapping purposes.
Naming follows a mostly predictable pattern: OpenSearch tools use the prefix 'os_', database tool uses 'db_', and general tools use verb_noun (list_services, test_request). 'health' breaks the verb_noun pattern but is understandable.
Seven tools is a well-scoped set for a testing helper server, covering essential operations without being overwhelming or too sparse.
The tools provide comprehensive coverage for read-only testing and debugging of stands, including listing services, health checks, API tests, SQL queries, and OpenSearch exploration. No obvious gaps for the intended purpose.
Related MCP Connectors
One MCP server for all your MCP servers: code mode, per-tool permissions, approvals and audit.
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
MCP server for interacting with the Supabase platform
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA universal MCP server that acts as a unified gateway for dynamically connecting and managing multiple MCP servers via a single HTTP endpoint.13 npm6MIT
- AlicenseNot gradedqualityDmaintenanceA standalone MCP server for API testing and management, allowing AI assistants to interact with RESTful APIs through natural language.9 npm29MIT
- FlicenseNot gradedqualityDmaintenanceA multi-database MCP server supporting PostgreSQL, ClickHouse, and MySQL that enables database exploration and SQL execution through MCP stdio or HTTP API.-
- AlicenseNot gradedqualityDmaintenanceMCP server for end-to-end API testing with PostgreSQL integration, HTTP requests, Go build automation, and debugging support.1MIT