Changelog¶
All notable changes to mcp-api-test are documented in this file.
v0.1.4 (2026-10-01)¶
Fixed¶
flagsmodule was missing frompy-modulesinpyproject.toml, causingModuleNotFoundError: No module named 'flags'on clean installLoggermissing awarning()method: cURL commands containing-k/--insecure/-u/--userpreviously crashed withAttributeError- Boolean warn flags (
-k,--insecure) being logged at INFO level instead of WARNING - An empty endpoint was assigned to the unused
endpointparameter instead of_endpoint --user-agentflag being parsed but silently dropped. The value is now applied as theUser-Agentheader on the request- Broken f-string in the cURL parser payload error message (missing closing quote)
- Stray trailing backtick in the cURL parser unsupported-flag warning message
- Version metadata sync:
src/__init__.pynow reports the same version aspyproject.toml - Pin
mcpdependency to>=1.0.0,<2.0.0: mcp 2.x removed themcp.server.fastmcpAPI, breaking the server import on clean installs and CI
Tests¶
- Regression tests for warn-flag parse paths, WARNING log level, user-agent header mapping, non-JSON payload preservation, empty-endpoint URL building, and packaging/version invariants
v0.1.3 (2026-07-17)¶
Fixed¶
- Remove redirect (
-L/--location) warning flags from the cURL flag registry since the behavior is already unsupported and the warnings were redundant
Features¶
- Improve payload handling: non-JSON string payloads (e.g. form-encoded data from cURL
-d) are now sent viacontent=instead ofjson=to prevent double-encoding. - Add array assertion support: required_response_fields now correctly validates fields inside JSON array items, not just plain objects.
- Change default behavior when no assertions are provided: returns False instead of
response.is_success, giving users the raw response to judge manually rather than silently passing.
Documentation¶
- New documentation sections such as Getting Started (installation, client setup), Usage (request modes, assertions, response format), Guides (configuration, development, troubleshooting), Reference (tool parameters)
- Rewrite README.md: shorter, clearer, and removes redundant detail now covered by the docs site.
Chores¶
- Ignore site/ build output in
.gitignore
v0.1.2 (2026-07-13)¶
Fixed¶
build_fullpath_url()auto-prepended/to endpoint then immediately raisedValueError, making the helper unusable for bare endpoints- cURL parser emitted unsupported-flag warnings at
INFOlevel instead ofWARNING, and the format string was missing a closing backtick __main__.pyused a barefrom server import mcpthat broke when the package was run as a module (python -m src)- README documented log path as
log/mcp-api-test.log(project root) instead of the actual~/.mcp-api-testing/logs/mcp-api-test.log
v0.1.1 (2026-06-29)¶
Added¶
- Extended cURL parser to support additional curl flags
- Helper to build full path URLs from base URL and endpoint
- Helper to validate nested fields in JSON response bodies
Changed¶
- Documentation restructured: troubleshooting section for Claude Desktop, clarification on how api-test-mcp differs from existing tools, reordered testing section
Fixed¶
- CLI entry point made consistent with package installation path
- Log directory path causing Claude Desktop to fail on connection
clearcommand unable to remove due to invalid target path in Makefile
Removed¶
- Unused
Dicttype import
v0.1.0 (2026-06-26)¶
Added¶
test_apiMCP tool supporting cURL command mode and structured request mode- cURL command parser with
-X,-H,-dflag support - Formatted console output with box-drawing, pass/fail symbols, and assertion summary
- Assertions: status code, status code range (
2xx,200-299), response fields, response contains - Runtime error handling with consistent error template
- Logger module writing to
log/mcp-api-test.log - Environment variable loading via
.envwithpython-dotenv - Unit tests for cURL parser and status code range parsing
- Integration tests with mocked HTTP via
respx - CI pipeline (GitLab CI) running
pytest -v - MIT license and PyPI classifiers
- Project metadata:
pyproject.toml,MANIFEST.in,.gitignore - Documentation: README with install, usage, MCP Inspector, Claude Desktop, OpenCode setup
- Runtime logs excluded from source distribution