Comprehensive API development and testing MCP server for Claude Code
MCP API Toolkit brings powerful API development capabilities to Claude Code through the Model Context Protocol. Think Postman + OpenAPI + AI-powered testing, all integrated into your Claude workflow.
- π OpenAPI/Swagger Parsing - Import and validate API specifications
- π§ͺ API Testing - Execute and validate API requests with AI insights
- π Documentation Generation - Auto-generate beautiful API docs
- π οΈ SDK Generation - Create TypeScript, Python, JavaScript SDKs automatically
- π Mock Data - Generate realistic test data from schemas
- β‘ Batch Testing - Test multiple endpoints at once
- π Request Validation - Ensure requests/responses match schemas
- π Performance Insights - Track response times and sizes
npm install -g mcp-api-toolkitgit clone https://github.com/yourusername/mcp-api-toolkit.git
cd mcp-api-toolkit
npm install
npm run build
npm linkAdd to your Claude Code MCP settings:
{
"mcpServers": {
"api-toolkit": {
"command": "mcp-api-toolkit"
}
}
}Or with npx:
{
"mcpServers": {
"api-toolkit": {
"command": "npx",
"args": ["-y", "mcp-api-toolkit"]
}
}
}Restart Claude Code to activate the MCP server.
Parse this OpenAPI spec: https://api.example.com/openapi.json
Or paste the spec directly:
Parse this OpenAPI spec:
{
"openapi": "3.0.0",
"info": { "title": "My API", "version": "1.0.0" },
...
}
List all endpoints from the parsed spec
Test the GET /users endpoint with authentication header
Claude will use the test_api_endpoint tool:
GET https://api.example.com/users
Headers: { "Authorization": "Bearer token" }
Generate a TypeScript SDK from the parsed spec
Claude will create a fully-typed client library:
export class MyAPIClient {
async getUsers(config?: RequestConfig): Promise<User[]> {
// Auto-generated implementation
}
}Generate markdown documentation for this API
Generate 5 mock user objects based on this schema:
{
"type": "object",
"properties": {
"name": { "type": "string" },
"email": { "type": "string" },
"age": { "type": "number" }
}
}
Parse and validate OpenAPI/Swagger specifications (JSON, YAML, or URL).
Input:
input(string): OpenAPI spec as JSON/YAML or URLisUrl(boolean): Whether input is a URL
Output: Parsed specification with summary
Extract all API endpoints from a specification.
Input:
spec(string): OpenAPI spec JSONfilterByTag(string, optional): Filter by tagfilterByMethod(string, optional): Filter by HTTP method
Output: List of endpoints with methods and paths
Execute and validate API requests.
Input:
method(string): HTTP method (GET, POST, PUT, PATCH, DELETE)url(string): Full URL to testheaders(object, optional): HTTP headersbody(object, optional): Request bodyparams(object, optional): Query parametersexpectedStatus(number, optional): Expected HTTP statustimeout(number, optional): Timeout in ms (default: 30000)
Output: Response data, status, timing, validation results
Generate client SDKs in multiple languages.
Input:
spec(string): OpenAPI spec JSONlanguage(string): typescript | python | javascript | goclientName(string, optional): Custom client class name
Output: Generated SDK code
Create mock data from JSON schemas.
Input:
schema(object): JSON Schema definitioncount(number, optional): Number of objects to generate
Output: Array of mock data objects
Generate markdown documentation from OpenAPI specs.
Input:
spec(string): OpenAPI spec JSONincludeExamples(boolean, optional): Include examples (default: true)
Output: Markdown documentation
Validate responses against schemas.
Input:
response(object): API response dataschema(object): Expected schema
Output: Validation results
Test multiple endpoints at once.
Input:
spec(string): OpenAPI spec JSONbaseUrl(string, optional): Override base URLfilterByTag(string, optional): Test only tagged endpointsheaders(object, optional): Common headers
Output: Batch test results summary
Parse the JSONPlaceholder API: https://jsonplaceholder.typicode.com/
Then test the GET /posts/1 endpoint
Parse this OpenAPI spec and generate a Python SDK:
{
"openapi": "3.0.0",
"info": { "title": "User API", "version": "1.0.0" },
"servers": [{ "url": "https://api.example.com" }],
"paths": {
"/users": {
"get": {
"summary": "List users",
"responses": {
"200": { "description": "Success" }
}
}
}
}
}
1. Parse the Stripe API spec: https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json
2. List all payment-related endpoints
3. Generate TypeScript SDK
4. Create mock customer data
- Import existing OpenAPI specs
- Test endpoints during development
- Generate client libraries automatically
- Create API documentation
- Validate API responses
- Batch test endpoints for health checks
- Performance testing with timing metrics
- Mock data generation for testing
- Generate SDKs for easy integration
- Test third-party APIs before integration
- Validate API contracts
- Document external APIs
- Explore public APIs (GitHub, Stripe, Twitter, etc.)
- Understand API structures
- Generate working code examples
- Create educational documentation
mcp-api-toolkit/
βββ src/
β βββ index.ts # Main MCP server
β βββ tools/ # MCP tool definitions
β βββ utils/
β β βββ openapi-parser.ts # OpenAPI parsing
β β βββ api-client.ts # HTTP client
β β βββ sdk-generator.ts # SDK generation
β βββ types/
β βββ api.ts # TypeScript types
βββ examples/ # Usage examples
βββ docs/ # Documentation
βββ tests/ # Unit tests
- No API credentials are stored
- All requests are made on-demand
- Rate limiting respect
- Input validation with Zod
- HTTPS-only for URL parsing
Contributions are welcome! Please read our Contributing Guide first.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
MIT License - see LICENSE file for details
If you find this project useful, please consider giving it a star on GitHub!
Built to solve the API-first development workflow in 2025. Inspired by:
- Postman's intuitive API testing
- OpenAPI's standardization
- Claude's AI-powered development assistance
- Documentation: docs/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with β€οΈ for the Claude Code community
Supercharge your API development workflow with AI!