API Creator MCP
Generates GraphQL APIs with Apollo Server, including subscriptions support.
Deploys generated APIs to AWS Lambda.
Integrates service discovery via Consul for microservices.
Generates Docker configuration for deploying APIs.
Generates REST APIs using Express.js framework.
Generates REST APIs using Fastify framework.
Generates Kubernetes configuration for deploying APIs.
Integrates OpenTelemetry tracing for observability.
Integrates PostgreSQL as a data source with Prisma ORM.
Uses Prisma for database integration with PostgreSQL.
Integrates Prometheus metrics for monitoring.
Supports RabbitMQ for asynchronous microservice communication.
Deploys generated APIs to Vercel.
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 Creator MCPcreate a REST API for a task manager with CRUD endpoints"
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 Creator MCP
API Creator MCP is a specialized MCP (Model Context Protocol) server that generates complete, production-ready APIs. It supports REST, GraphQL, and microservices architectures with built-in security, validation, and deployment configurations.
โจ Features
REST API Generation - Express/Fastify with database integration
OpenAPI Conversion - Transform OpenAPI specs into working servers
GraphQL API Generation - Apollo Server with subscriptions support
Microservice Generation - gRPC, Kafka, RabbitMQ with service discovery
Deployment Configuration - Docker, Kubernetes, AWS Lambda, Vercel
Security First - JWT auth, Zod validation, rate limiting, path sanitization
TypeScript Native - Full type safety with strict TypeScript
Observability - OpenTelemetry tracing and Prometheus metrics
Related MCP server: API Tester MCP
๐ Prerequisites
Node.js 20+
npm 9+
๐ Installation
Via npx (recommended)
npx api-creator-mcpVia npm global install
npm install -g api-creator-mcp
api-creator-mcpVia GitHub
git clone https://github.com/yourusername/api-creator-mcp.git
cd api-creator-mcp
npm install
npm run build
npm link
api-creator-mcp๐ง Configuration for Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"api-creator-mcp": {
"command": "npx",
"args": ["-y", "api-creator-mcp"]
}
}
}๐ง Configuration for Cursor
Add to your Cursor MCP configuration:
{
"mcpServers": {
"api-creator-mcp": {
"command": "npx",
"args": ["-y", "api-creator-mcp"]
}
}
}๐ ๏ธ Available Tools
1. create_rest_api
Generate a complete REST API with Express/Fastify.
{
"name": "tasks-api",
"endpoints": [
{ "path": "/tasks", "method": "GET", "description": "List all tasks" },
{ "path": "/tasks", "method": "POST", "description": "Create a task" },
{ "path": "/tasks/:id", "method": "DELETE", "description": "Delete a task" }
],
"database": "postgres",
"authentication": true,
"validation": true
}2. generate_from_openapi
Convert an OpenAPI specification into a working server.
{
"openapi_spec": "{\"openapi\":\"3.0.0\",...}",
"output_language": "typescript",
"generate_sdk": true
}3. create_graphql_api
Generate a GraphQL API with Apollo Server.
{
"name": "blog-api",
"schema": {
"types": "type Post { id: ID! title: String! content: String! }",
"queries": "posts: [Post]",
"mutations": "createPost(title: String!, content: String!): Post"
},
"data_source": "postgres",
"subscriptions": true
}4. create_microservice
Generate a microservice with async communication.
{
"name": "order-service",
"communication": "kafka",
"service_discovery": "consul",
"observability": true
}5. deploy_api
Deploy a generated API to cloud platforms.
{
"api_path": "./generated-apis/tasks-api",
"platform": "docker",
"environment": {
"NODE_ENV": "production",
"PORT": "3000"
}
}๐ Usage Examples
Creating a Task Management API
# The MCP server will generate:
# - Express server with TypeScript
# - PostgreSQL integration with Prisma
# - JWT authentication
# - Zod validation for all endpoints
# - Complete project structureConverting an Existing API
# Provide your OpenAPI 3.0 spec
# The server will generate:
# - Fully typed TypeScript server
# - Client SDK for easy integration
# - All endpoints from your spec๐ Security
Input Validation: All parameters validated with Zod schemas
Rate Limiting: 100 requests per minute per client
Path Sanitization: Prevents path traversal attacks
Permission System: Role-based access control
No eval/exec: Safe template literals only
JWT Authentication: Built-in auth middleware
๐ Project Structure
api-creator-mcp/
โโโ src/
โ โโโ core/ # MCP server core
โ โโโ tools/ # Tool implementations
โ โโโ types/ # TypeScript types and Zod schemas
โ โโโ utils/ # Security and validation utilities
โโโ tests/
โ โโโ unit/ # Unit tests
โ โโโ integration/ # Integration tests
โโโ templates/ # API templates
โโโ docs/ # Documentation๐งช Testing
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Watch mode
npm run test:watch๐ค Contributing
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
๐ Support
Issues: GitHub Issues
Discussions: GitHub Discussions"
Available Tools
5 toolscreate_graphql_apiA
Generate a GraphQL API with Apollo Server or Yoga, including subscriptions and data source integration
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the GraphQL API | |
| schema | Yes | ||
| data_source | No | Data source | |
| subscriptions | No | Include WebSocket subscriptions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose behavioral traits such as whether the tool overwrites existing APIs, required permissions, or any side effects. The description only lists features without depth.
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?
The description is a single sentence that efficiently conveys the tool's purpose without unnecessary words. It is front-loaded and to the point.
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 complexity (4 parameters, nested schema, no output schema), the description covers the main features but lacks details on output or return values. It is adequate but not exhaustive.
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 high (75%+), so baseline is 3. The tool description adds little beyond the parameter descriptions, merely echoing 'subscriptions' and 'data source integration' already present in the schema.
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 clearly states it generates a GraphQL API with specific servers (Apollo Server or Yoga) and includes subscriptions and data source integration, distinguishing it from sibling tools like create_rest_api or create_microservice.
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?
The description implies usage for GraphQL API creation but provides no explicit guidance on when to use this tool versus alternatives like create_rest_api or generate_from_openapi. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_microserviceC
Generate a microservice with async communication, service discovery, and observability
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the microservice | |
| communication | Yes | Communication protocol | |
| observability | No | Include tracing and metrics | |
| service_discovery | No | Service discovery method |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided and description does not disclose behavioral traits such as whether generation is destructive, requires authentication, or what side effects occur.
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?
Single sentence is concise but lacks structure (e.g., bullet points) to aid scanning; every word earns its place but could be better organized.
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, 2 required, and no output schema, the description fails to explain return value, usage process, or what 'generate' entails, leaving gaps.
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 coverage is 100%, so description adds minimal value beyond property descriptions; it lists key features but does not elaborate on parameter semantics.
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 clearly states it generates a microservice with async communication, service discovery, and observability, distinguishing it from sibling tools that focus on specific API types or deployment.
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 alternatives like create_graphql_api or create_rest_api; lacks context for when to choose this over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_rest_apiA
Generate a complete REST API with Express/Fastify, including database integration, authentication, and validation
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the API | |
| database | No | Database type | |
| endpoints | Yes | ||
| validation | No | Include Zod validation | |
| authentication | No | Include JWT authentication |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but fails to disclose behavioral traits like whether it overwrites files, permissions needed, or side effects of generation.
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?
Single sentence with no fluff, front-loaded with purpose and key features, every word earns its place.
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?
Despite moderate complexity (5 params, no output schema), the description is too brief; it lacks details on output format, generation process, or prerequisites.
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 coverage is 80%, and description adds meaning beyond schema by mentioning framework (Express/Fastify) and components (db, auth, validation) that correspond to parameters, but does not detail the endpoints array structure.
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 clearly states 'Generate a complete REST API' with specific components (database, auth, validation), distinguishing it from siblings like create_graphql_api and create_microservice.
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?
The description implies use for REST API generation but provides no explicit guidance on when to choose this over alternatives like create_graphql_api or deploy_api.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_apiB
Deploy a generated API to a cloud platform with environment configuration
| Name | Required | Description | Default |
|---|---|---|---|
| api_path | Yes | Path to the generated API code | |
| platform | Yes | Deployment platform | |
| environment | No | Environment variables |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It fails to mention side effects, authentication requirements, duration, or what happens upon deployment (e.g., success/failure response, whether it overwrites existing deployments). The description is minimal and does not disclose behavioral traits beyond the basic action.
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?
The description is a single concise sentence that is front-loaded and contains no fluff. However, it could be more informative without adding significant length. It earns a 4 for being efficient but not maximally helpful.
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 3 parameters, nested objects, and no output schema, the description is insufficient. It does not explain the return value, error handling, or any post-deployment details. The complexity is not matched by the description's completeness.
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 100%, meaning the schema already documents all three parameters fully. The description adds no extra detail about parameter semantics, values, or constraints. Baseline 3 is appropriate as the schema does the heavy lifting.
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 clearly states the action: 'Deploy a generated API to a cloud platform with environment configuration'. It uses a specific verb ('Deploy'), specifies the resource ('generated API'), and includes the scope ('to a cloud platform with environment configuration'). This distinguishes it from sibling tools which focus on creation/generation rather than deployment.
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?
The description implies usage after API generation by stating 'a generated API', but it lacks explicit guidance on when to use this tool versus alternatives. No when-not conditions or alternative tool references are provided. The context is adequate but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_from_openapiB
Convert an OpenAPI specification into a working MCP server with optional SDK generation
| Name | Required | Description | Default |
|---|---|---|---|
| generate_sdk | No | Generate client SDK | |
| openapi_spec | Yes | OpenAPI specification in YAML or JSON format | |
| output_language | No | Output language |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It indicates a transformation (conversion) but does not disclose behavior like whether it overwrites existing servers, requires network access, or its effect on the input spec. The description lacks details on side effects or requirements.
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?
The description is a single sentence that is efficient and front-loaded with the core purpose. However, it could be slightly expanded with usage guidance without losing conciseness.
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?
The tool has 3 parameters, no output schema, and no annotations. The description does not mention return values, error cases, or prerequisites (e.g., valid OpenAPI spec). Given moderate complexity, the description is incomplete for an agent to reliably invoke and interpret results.
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?
The input schema has 100% parameter description coverage, so the baseline is 3. The description mentions 'optional SDK generation', which aligns with the generate_sdk parameter, but adds no new meaning beyond the schema. It does not elaborate on openapi_spec format or output_language usage.
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 clearly states the tool converts an OpenAPI specification into a working MCP server with optional SDK generation, using a specific verb and resource. It distinguishes itself from sibling tools like create_rest_api and create_graphql_api by focusing on OpenAPI-driven generation.
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?
The description provides no guidance on when to use this tool versus alternatives (e.g., create_rest_api or create_microservice). It simply states what it does without any context on prerequisites, best-fit scenarios, or exclusions.
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.
5 tool updates
v1.0.0- First observed
create_graphql_api - First observed
create_microservice - First observed
create_rest_api - First observed
deploy_api - First observed
generate_from_openapi
TDQS
Each tool targets a distinct API development task: GraphQL, microservice, REST, deployment, and OpenAPI conversion. No two tools have overlapping purposes.
All tool names follow the verb_noun pattern with lowercase underscores (create_*, deploy_*, generate_from_*), providing a clear and consistent naming convention.
5 tools cover the core workflow of API creation and deployment without being excessive or insufficient for the stated purpose.
The tool surface provides a complete set for generating and deploying APIs, including three API styles and OpenAPI conversion, with no obvious missing operations for creation and deployment.
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
Deploy production REST APIs from JSON schemas in seconds. Manage projects, schemas, and deployments.
Generate a typed SDK, CLI, and MCP server from any OpenAPI or GraphQL spec, and keep them current.
Build, validate, deploy โ HTTP APIs, cron jobs, webhooks and MCP tools โ from your AI client.
327 dev tools via REST API and MCP. Generate Dockerfiles, schemas, K8s, APIs, and more.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceGenerates production-ready MCP servers from natural language, OpenAPI specs, database schemas, GraphQL schemas, or ontologies.861MIT
- AlicenseBqualityCmaintenanceEnables QA/SDET engineers to test APIs by ingesting Swagger/OpenAPI specs and Postman collections, generating and executing tests in multiple languages and frameworks with real-time progress tracking.11356MIT

@forgespace/ui-mcpofficial
AlicenseBqualityFmaintenanceEnables AI-driven generation of UI components, full applications, and backend code across multiple frameworks (React, Vue, Angular, Svelte, HTML) with Figma integration and brand identity support.381802MIT- AlicenseCqualityBmaintenanceAutomates generation of QA artifacts such as API tests, E2E tests, and documentation exports. It supports REST Assured, Cypress, and Excel/Word document generation.517MIT
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/TolkYo/api-creator-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server