Skip to main content

Clue2App MCP Server

MCP (Model Context Protocol) server for Clue2App, enabling AI coding assistants like Claude Code to deploy applications directly.

Features

  • Seamless Deployment: Deploy apps from within your AI assistant conversation
  • Project Management: Create and switch between projects
  • App Lifecycle: Create, rebuild, delete applications
  • Monitoring: Check build status, view logs, get runtime info
  • Custom Domains: Register domains, assign apex (@) and subdomains, manage TLS — all via CLI proxy

Installation

pip install clue2app-mcp

Configuration

Claude Code

Add to your ~/.claude/claude_code_config.json:

{
  "mcpServers": {
    "clue2app": {
      "command": "clue2app-mcp",
      "args": []
    }
  }
}

Claude Desktop

Add to your Claude Desktop config:

{
  "mcpServers": {
    "clue2app": {
      "command": "python",
      "args": ["-m", "clue2app_mcp.server"]
    }
  }
}

Prerequisites

  1. Install and authenticate with Clue2App CLI:

    pip install clue2app-cli
    c2a login
    
  2. Set up a project context:

    c2a project create MyProject            # namespace is auto-generated
    c2a project use MyProject
    

Available Tools

Auth & Projects

Tool Description
c2a_auth_status / c2a_status Check authentication and active project
c2a_login Open browser login
c2a_list_projects List all projects
c2a_use_project Switch active project
c2a_create_project Create a new project
c2a_show_project Show project details

Apps

Tool Description
c2a_list_apps List apps in current project
c2a_get_app Get app details (URL, status, image)
c2a_create_app Deploy a new app from a Git repo
c2a_rebuild_app Trigger a build
c2a_restart_app Restart the app (new revision)
c2a_delete_app Delete an app
c2a_app_logs Runtime logs
c2a_build_logs Build logs
c2a_build_list List builds
c2a_set_env / c2a_list_env Environment variables
c2a_deploy_current / c2a_check_repo Deploy from current directory
c2a_analyze Analyze a repo for deployment readiness

Custom Domains

Tool Description
c2a_domains_register Register a domain zone (DELEGATION / SUBDOMAIN_DELEGATION / CNAME_ONLY)
c2a_domains_verify Check NS delegation health (live DNS lookup)
c2a_domains_status Check delegation status via API
c2a_domains_info Show NS records and setup instructions
c2a_domains_list List registered domains in the project
c2a_domains_assign Assign a single subdomain or apex (@) to an app
c2a_domains_add Add one or more FQDNs to an app (auto-registers base if needed)
c2a_domains_assignments List FQDN→app mappings in the project
c2a_domains_remove Remove a domain assignment from an app
c2a_domains_delete Delete a registered domain (and its assignments)

Secrets

Tool Description
c2a_secrets_list / c2a_secrets_create / c2a_secrets_delete Manage Git/registry credentials for private repos

Daari LLM Gateway

Tool Description
c2a_daari_llm_list_instances List Daari LLM Gateway instances in the active project
c2a_daari_llm_create_instance Create a per-project LLM Gateway instance (mints JWT + writes OPENAI_API_KEY/OPENAI_BASE_URL binding secret)
c2a_daari_llm_bind_app Attach a Gateway binding secret to an app via envFrom (emits kubectl patch for operator review)

Example Usage

In Claude Code or Claude Desktop:

"Create a new project called 'demo' with namespace 'demo'"

"Deploy my FastAPI app from https://github.com/user/fastapi-app"

"Check the status of my-app"

"Show me the logs for my-app"

"Rebuild my-app"

"Register example.com with DELEGATION method"

"Point example.com (apex) and www.example.com at my-app"

"Show me the NS records I need to add at my registrar"

Development

# Clone the repo
git clone https://github.com/clue2solve/clue2app-mcp.git
cd clue2app-mcp

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

Releasing

Releases are cut by pushing a v<version> tag that matches the version in pyproject.toml. The .github/workflows/release.yml workflow then:

  1. Builds a wheel + sdist with python -m build.
  2. Verifies the tag matches the pyproject.toml [project].version; fails the run if they diverge.
  3. Publishes both artifacts to PyPI as clue2app-mcp — only if the PYPI_API_TOKEN repo secret is set. Without the token the publish step is skipped with a clear warning and the build artifacts are still uploaded to the run so the release itself is not blocked.
  4. Creates a GitHub Release for the tag with the wheel and sdist attached.

Typical cut:

# 1. Bump the version in pyproject.toml (e.g. 0.1.0 -> 0.1.1) and commit.
git commit -am "chore(release): v0.1.1"

# 2. Tag and push.
git tag v0.1.1
git push origin main --tags

The tag push triggers the workflow; watch it under Actions → Release.

One-time setup (still pending — see SCK-441 follow-ups):

  • Claim the clue2app-mcp name on PyPI (requires a human PyPI account).
  • Add a PYPI_API_TOKEN repo secret scoped to that project under Settings → Secrets and variables → Actions.

Until both are done the workflow will build and attach artifacts but skip the PyPI upload with a warning.

License

MIT

Metadata

Release files for clue2app-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clue2app-mcp 0.1.1
File Size Uploaded Provenance Actions
clue2app_mcp-0.1.1.tar.gz 35.5 kB Without provenance Details for clue2app_mcp-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for clue2app-mcp 0.1.1
File Interpreter ABI Platform Actions
clue2app_mcp-0.1.1-py3-none-any.whl Python 3 none any Details for clue2app_mcp-0.1.1-py3-none-any.whl

Total release size: 52.3 kB

Release files / clue2app_mcp-0.1.1.tar.gz

Download URL clue2app_mcp-0.1.1.tar.gz
Size 35.5 kB
Tags Source
SHA-256 checksum
How to use checksums
acbe4d7b533b017b498cda351873d9ddbfd82e54e71be657fb83f44876367b30
BLAKE2b-256 checksum
How to use checksums
5fcb7a00b8822a33d6d26fe36dcc65adebe96ed9ab514aa0aaf0d9edbe633b33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / clue2app_mcp-0.1.1-py3-none-any.whl

Download URL clue2app_mcp-0.1.1-py3-none-any.whl
Size 16.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1d2bf1a6960546cc8c0746a4e3e404991e43caf54a4062434dd35e9430ea2bd8
BLAKE2b-256 checksum
How to use checksums
e42b73851acbc91876a766b0ec7accf7f89db3f05b6648f41c15c9c09f885ab5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Security for clue2app-mcp 0.1.1

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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page