apitest-mcp
MCP server for testing Oracle → PostgreSQL API migrations.
Give it an API URL — it scans your repo for DB credentials, reads the handler code, fetches valid test data from PG, calls the API, and validates the DB state.
Works with Claude Code and Antigravity.
Install
pip install apitest-mcp
Or from source:
git clone https://github.com/your-org/apitest-mcp
cd apitest-mcp
pip install -e .
Setup
Copy .env.example to .env and fill in your values:
cp .env.example .env
REPO_PATH=/path/to/your/repo
EMP_ID=your_emp_id
AK=your_jwt_token
REPO_PATH— absolute path to the repo being tested (PHP or Go)EMP_ID— your employee ID for API authAK— your JWT token for API auth
Register in Claude Code
claude mcp add apitest-mcp -- python /path/to/apitest-mcp/server.py
Or add to ~/.claude/claude.json:
{
"mcpServers": {
"apitest-mcp": {
"command": "python",
"args": ["/path/to/apitest-mcp/server.py"],
"env": {
"REPO_PATH": "/path/to/your/repo",
"EMP_ID": "your_emp_id",
"AK": "your_jwt_token"
}
}
}
}
Register in Antigravity
{
"mcp_servers": [
{
"name": "apitest-mcp",
"command": "python",
"args": ["/path/to/apitest-mcp/server.py"],
"env": {
"REPO_PATH": "/path/to/your/repo",
"EMP_ID": "your_emp_id",
"AK": "your_jwt_token"
}
}
]
}
Usage
Once registered, just tell Claude:
Test this API: POST http://localhost:8080/erp/preovp/preovpdata
Claude will:
- Scan repo → find PG credentials
- Read handler code → understand params + tables
- Query PG → fetch valid test data
- Call the API → capture response
- Validate DB state → report PASS / FAIL
Tools exposed
| Tool | Description |
|---|---|
scan_repo_config |
Scan repo to find PG connection details |
read_api_code |
Find and return handler code for an API URL |
query_pg |
Run a SELECT query on the discovered PG database |
call_api |
Call an API endpoint with auth injected automatically |
validate_db |
Run a SELECT and optionally assert expected field values |
Metadata
Release files for apitest-mcp 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| apitest_mcp-0.1.6.tar.gz | 15.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| apitest_mcp-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.1 kB
Release files / apitest_mcp-0.1.6.tar.gz
| Download URL | apitest_mcp-0.1.6.tar.gz |
|---|---|
| Size | 15.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f8a1b4464ffed92e2592f66b76950f377b0a752c37c434ad3d6c1e6694719d42
|
|
BLAKE2b-256 checksum How to use checksums |
8f7889b8c2db809702ab9dea876c1b5ea3c91c011cffb81e66b9d2d0d45f66e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / apitest_mcp-0.1.6-py3-none-any.whl
| Download URL | apitest_mcp-0.1.6-py3-none-any.whl |
|---|---|
| Size | 12.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
586aa8d1455964988accef61a16a7b3e663511442faa029c75bc265d55ed9bb2
|
|
BLAKE2b-256 checksum How to use checksums |
68f79f9efc434b4dec67a2b808261a57842b6b3e161896d0e153f5b5b36c21d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for apitest-mcp 0.1.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.