Skip to content

NodeOps-app/createos-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub Stars License: MIT Go Version Build Status Last Commit

CreateOS MCP

Deploy, manage, and scale applications directly from your AI assistant.


Introduction

The Model Context Protocol (MCP) is an open standard originated by Anthropic that enables AI assistants β€” Claude, Cursor, GitHub Copilot, Windsurf, Gemini, and others β€” to securely connect to external tools, APIs, and services through a unified interface. The latest MCP Authorization and Streamable HTTP specifications are fully implemented.

CreateOS MCP is a production-grade MCP server that exposes 85+ tools for full-stack application deployment and infrastructure management on the CreateOS platform. Connect it once to your AI coding tool, then deploy projects, manage environments, configure domains, run security scans, analyze deployment metrics, and more β€” all through natural language.

Instead of switching between dashboards, CLIs, and documentation, you stay in your editor and let your AI handle the infrastructure. CreateOS MCP turns prompts like "deploy my app from this GitHub repo" or "scale the staging environment to 3 replicas" into real actions, executed instantly.

Built in Go for performance and reliability, the server supports both Streamable HTTP and stdio transports, with OAuth 2.0 and API key authentication out of the box.


Features

  • πŸš€ 85+ MCP Tools β€” Full coverage of the CreateOS platform API: projects, deployments, environments, domains, templates, and more
  • πŸ”Œ 9 Supported Clients β€” Cursor, VS Code + Copilot, Claude Desktop, Claude Code, Windsurf, Gemini CLI, Gemini Code Assist, Opencode, Zapier, and ElevenLabs
  • πŸ” Secure Authentication β€” API key and OAuth 2.0 with Dynamic Client Registration (RFC 7591), Protected Resource Metadata (RFC 9728)
  • ⚑ Dual Transport β€” Streamable HTTP for remote access, stdio for local/embedded use
  • πŸ“¦ Deploy Anything β€” GitHub repos, Docker images, file uploads (zip, base64, multipart), or marketplace templates
  • 🌍 Environment Management β€” Create, configure, and monitor multiple environments per project with independent secrets and resources
  • πŸ”’ Security Scanning β€” Trigger and review security scans on any deployment
  • πŸ“Š Built-in Analytics β€” Query request metrics, RPM, error paths, success rates, and traffic distribution per environment
  • πŸͺ Template Marketplace β€” Browse, purchase, and deploy from a library of production-ready project templates
  • πŸ”‘ API Key Management β€” Create, list, update, and revoke API keys programmatically
  • 🌐 Custom Domains β€” Attach, refresh, and manage custom domains with automatic TLS
  • πŸ“‹ Build & Runtime Logs β€” Stream build logs and runtime logs directly in your AI assistant

Prerequisites

  1. Create an account at createos.nodeops.network
  2. Navigate to Profile Settings and generate your API key

πŸ“Ί Watch the API key retrieval tutorial


Quick Start

Add the CreateOS MCP server to your AI client using this configuration:

{
  "mcpServers": {
    "createos": {
      "url": "https://api-createos.nodeops.network/mcp",
      "type": "http",
      "headers": {
        "X-Api-Key": "CREATEOS_API_KEY"
      }
    }
  }
}

Replace CREATEOS_API_KEY with your actual key from Profile Settings.

For client-specific setup instructions, see the Integration docs.


Usage Examples

Once connected, interact with CreateOS through natural language in your AI assistant:

Deploying

"Deploy my current project to CreateOS"
"Create a new project called my-api using Node.js 20"
"Deploy the main branch of my GitHub repo naman485/my-app"
"Upload this zip file as a new deployment"

Managing Environments

"List all environments for the my-api project"
"Set the DATABASE_URL environment variable on staging"
"Scale the production environment to 500 millicores and 1024MB memory"
"Show me the runtime logs for staging"

Domains & Networking

"Add a custom domain api.example.com to my project"
"Refresh the SSL certificate for my domain"
"List all domains attached to my-api"

Monitoring & Security

"Show me the request analytics for production this week"
"What are the top error paths in staging?"
"Run a security scan on my latest deployment"
"Show me the build logs for deployment abc123"

Templates & Marketplace

"Browse available project templates"
"Deploy the FastAPI starter template"
"Create a project template from my current project"

Configuration

Hosted (Recommended)

The hosted MCP server is available at:

https://api-createos.nodeops.network/mcp

No setup required β€” just add your API key to your MCP client config as shown in the docs in the Integration folder.

Self-Hosting

Clone and build the server:

git clone https://github.com/NodeOps-app/createos-mcp.git
cd createos-mcp
go build -o createos-mcp *.go

Create a config.yaml:

port: 8080
base_url: https://your-domain.com
authorization_server_url: https://your-auth-server.com
api_base_url: https://api.createos.nodeops.network
transport: http       # "http" or "stdio"
log_level: debug

supported_scopes:
  - openid
  - offline_access
  - offline

response_types_supported:
  - code

grant_types_supported:
  - authorization_code
  - refresh_token

code_challenge_methods_supported:
  - S256

token_endpoint_auth_methods_supported:
  - none

Run the server:

./createos-mcp --config config.yaml

Environment Variables

Variable Description Required
PORT Server port (overrides config) No (default: 8080)

Testing Locally

# Start the server
go run *.go --config config.yaml

# Open the MCP Inspector
npx @modelcontextprotocol/inspector

# In the inspector, set the URL to http://localhost:8080/mcp
# and add header X-Api-Key: YOUR_API_KEY

Supported Tools

The server exposes 85+ tools organized into the following categories:

Category Tools Description
Projects CreateProject, GetProject, ListProjects, UpdateProject, DeleteProject, UpdateProjectSettings, CheckProjectUniqueName Create and manage projects with full lifecycle control
Deployments CreateDeployment, GetDeployment, ListDeployments, CancelDeployment, RetriggerDeployment, TriggerLatestDeployment, AssignDeploymentToProjectEnvironment Deploy code via GitHub, Docker, file upload, or zip
File Uploads UploadDeploymentFiles, UploadDeploymentBase64Files, UploadDeploymentZip, DownloadDeployment Multiple upload strategies for code deployment
Environments CreateProjectEnvironment, ListProjectEnvironments, UpdateProjectEnvironment, DeleteProjectEnvironment, UpdateProjectEnvironmentEnvironmentVariables, UpdateProjectEnvironmentResources Manage staging, production, and custom environments
Domains CreateDomain, ListDomains, DeleteDomain, RefreshDomain, UpdateDomainEnvironment Custom domains with automatic TLS
Apps CreateApp, ListApps, UpdateApp, DeleteApp, AddProjectsToApp, RemoveProjectsFromApp, AddServicesToApp, RemoveServicesFromApp, ListProjectsByApp, ListServicesByApp Group projects and services into logical applications
Templates CreateProjectTemplate, GetProjectTemplate, ListPublishedProjectTemplates, ListMyProjectTemplates, BuyProjectTemplate, DeployProjectTemplateViaGithub, UpdateProjectTemplate, DeleteProjectTemplate, DownloadProjectTemplate Template marketplace for reusable project blueprints
API Keys CreateAPIKey, ListAPIKeys, UpdateAPIKey, RevokeAPIKey, CheckAPIKeyUniqueName Programmatic API key management
Security TriggerSecurityScan, RetriggerSecurityScan, GetSecurityScan, GetSecurityScanDownloadUri Automated security scanning for deployments
Analytics GetProjectEnvironmentAnalytics, OverallRequests, RPM, RequestDistribution, RequestsOverTime, SuccessPercentage, TopErrorPaths, TopHitPaths Real-time request metrics and traffic analysis
Logs GetBuildLogs, GetDeploymentLogs, GetProjectEnvironmentLogs Build-time and runtime log streaming
GitHub InstallGithubApp, ListConnectedGithubAccounts, ListGithubRepositories, ListGithubRepositoryBranches, GetGithubRepositoryContent GitHub integration for repo-based deployments
Account GetCurrentUser, GetQuotas, GetSupportedProjectTypes User info, quotas, and platform capabilities
Transfers TransferProject, GetProjectTransferUri, ListProjectTransferHistory Transfer project ownership between accounts

Roadmap

  • Database management tools (PostgreSQL, MySQL provisioning and management)
  • Managed Kafka, Valkey/Redis integration tools
  • Webhook and event-driven deployment triggers
  • Team collaboration and role-based access tools
  • Cost estimation and billing analytics tools
  • SSE transport support
  • Deployment rollback tools

Contributing

Contributions are welcome! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feat/my-feature
  3. Make your changes and add tests
  4. Run tests: go test ./...
  5. Commit with a clear message: git commit -m "feat: add my feature"
  6. Push and open a Pull Request

Please read our Contributing Guidelines if available.

Development

The MCP tools and handlers are auto-generated from the CreateOS OpenAPI spec using mcpgen. See DEVELOPMENT.md for details.


Code of Conduct

This project follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.


License

This project is licensed under the MIT License.

MIT License

Copyright (c) 2025 NodeOps

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Acknowledgments


πŸ“š Full Documentation Β Β·Β  🌐 CreateOS Platform Β Β·Β  πŸ› Report Bug

If you find this useful, give it a star ✨

GitHub Stars

About

Deploy full-stack apps directly from any AI assistant. 75+ MCP tools for projects, deployments, databases, environments, security & more.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages