{"name":"io.github.markusvankempen/code-engine-mcp-server","slug":"markusvankempen-code-engine-mcp-server","title":"IBM Code Engine MCP Server","description":"Deploy to IBM Code Engine from Cursor, Copilot, Claude & Cline. Build, push, deploy via MCP.","url":"https://mcp.market/server/markusvankempen-code-engine-mcp-server","rating":null,"grade":"C","score":60,"certified":false,"status":"active","category":"devtools","tags":["devtools"],"presence":{"score":19,"stars":0,"forks":0,"downloads_week":69,"last_push_at":"2026-07-04T22:02:29.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/markusvankempen/code-engine-mcp-server","website":null,"version":"1.4.2","remotes":[],"packages":[{"registryType":"npm","identifier":"code-engine-mcp-server","version":"1.4.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"IBM Cloud API key used to authenticate and call Code Engine APIs","isRequired":true,"format":"string","isSecret":true,"name":"IBMCLOUD_API_KEY"},{"description":"Default IBM Cloud region (for example: us-south)","format":"string","name":"IBMCLOUD_REGION"},{"description":"Optional container runtime override: docker or podman","format":"string","name":"CONTAINER_RUNTIME"}]}],"tools":[{"name":"build_container_image","description":"Build a container image using Docker or Podman","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_create_application","description":"Create a Code Engine application from a container image","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_create_binding","description":"Create a service binding to connect an IBM Cloud service instance to a Code Engine component","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_create_config_map","description":"Create a configmap in a Code Engine project","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_create_domain_mapping","description":"Map a custom domain to a Code Engine application. Requires a TLS secret created with ce_create_tls_secret_from_pem. The domain CNAME must point to custom.<subdomain>.us-south.codeengine.appdomain.cloud (returned by this call).","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_create_job","description":"Create a job definition in Code Engine","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_create_job_run","description":"Submit a job run from an existing job definition","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_create_project","description":"Create a new Code Engine project","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_create_secret","description":"Create a secret in a Code Engine project (generic, registry, ssh_auth, etc.)","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_create_tls_secret_from_pem","description":"Create a TLS secret in Code Engine by reading certificate and key PEM files from disk. Use this after obtaining a cert with certbot. The cert and key are read from the given file paths and stored as a Code Engine secret of format \"tls\".","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_delete_application","description":"Delete a Code Engine application","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_delete_binding","description":"Delete a service binding from a Code Engine project","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_delete_config_map","description":"Delete a configmap from a Code Engine project","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_delete_domain_mapping","description":"Delete a custom domain mapping from a Code Engine project","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_delete_job","description":"Delete a Code Engine job definition","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_delete_project","description":"Delete a Code Engine project","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_delete_secret","description":"Delete a secret from a Code Engine project","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_get_app_instance","description":"Get status details for a specific running instance of a Code Engine application","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_get_app_logs","description":"Get logs for a Code Engine application. Retrieves logs from all running pods (or a specific instance) via the Code Engine Kubernetes API proxy.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_get_app_revision","description":"Get details of a specific revision of a Code Engine application","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_get_application","description":"Get details of a Code Engine application","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_get_binding","description":"Get details of a specific service binding in a Code Engine project","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_get_config_map","description":"Get details of a specific configmap in a Code Engine project","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_get_domain_mapping","description":"Get details of a specific custom domain mapping","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_get_job","description":"Get details of a specific Code Engine job definition","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_get_job_run","description":"Get status and details of a job run","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_get_project","description":"Get details of a specific Code Engine project","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_get_project_status","description":"Get the status details of a Code Engine project (readiness, enabled components, etc.)","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_get_secret","description":"Get metadata for a specific secret (keys only, no values)","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_list_app_instances","description":"List all running instances (pods) of a Code Engine application","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_list_app_revisions","description":"List all revisions (deployed versions) of a Code Engine application","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_list_applications","description":"List applications in a Code Engine project","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_list_bindings","description":"List all service bindings in a Code Engine project (bindings connect IBM Cloud services to apps/jobs)","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_list_config_maps","description":"List configmaps in a Code Engine project","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_list_domain_mappings","description":"List all custom domain mappings in a Code Engine project","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_list_egress_ips","description":"List the public egress IP addresses used by a Code Engine project (useful for allowlisting in firewalls)","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_list_job_runs","description":"List job runs in a Code Engine project","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_list_jobs","description":"List job definitions in a Code Engine project","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_list_projects","description":"List all Code Engine projects across all or a specific region","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_list_secrets","description":"List secrets in a Code Engine project","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_refresh_icr_pull_secret","description":"Refresh a Code Engine registry pull secret for IBM Container Registry (ICR) using the server's own IBM Cloud API key. Automatically deletes the existing secret and recreates it with fresh credentials. Use this when deployments fail with \"no_revision_ready\" or \"unknown\" status — a common cause is a stale or expired ICR pull secret. No API key input required — the server uses its own IBMCLOUD_API_KE","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_renew_tls_secret_from_pem","description":"Renew an existing TLS secret in Code Engine by reading updated PEM files from disk. Use this when a Let's Encrypt cert has been renewed (every 90 days). Updates the secret in-place — no need to delete and recreate or update domain mappings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ce_update_application","description":"Update an existing Code Engine application (image, scaling, etc.)","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_update_config_map","description":"Update an existing Code Engine configmap (PATCH)","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_update_domain_mapping","description":"Update an existing Code Engine custom domain mapping (PATCH) — e.g. change the target app","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_update_job","description":"Update an existing Code Engine job definition (PATCH)","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_update_secret","description":"Update an existing Code Engine secret in-place (PATCH). Use ce_renew_tls_secret_from_pem for TLS cert renewal. For generic secrets supply a data object with the new key/value pairs.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ce_wait_for_app_ready","description":"Poll a Code Engine application until its status becomes \"ready\" or a timeout is reached. Returns immediately when ready. Useful after ce_create_application or ce_update_application to confirm the new revision is live.","write_action":false,"price_micros":0,"input_schema":null},{"name":"detect_container_runtime","description":"Detect available container runtime (Docker or Podman)","write_action":false,"price_micros":0,"input_schema":null},{"name":"iam_get_token_info","description":"Get information about the current IBM Cloud IAM token — account ID, subject, expiry time, and remaining validity. Useful for diagnosing authentication failures without exposing the token itself.","write_action":false,"price_micros":0,"input_schema":null},{"name":"icr_create_namespace","description":"Create a new namespace in IBM Container Registry. Required before pushing images for the first time. Uses the ICR REST API with your IBM Cloud API key.","write_action":true,"price_micros":0,"input_schema":null},{"name":"icr_delete_image","description":"Delete an image from IBM Container Registry (ICR) by tag or digest","write_action":true,"price_micros":0,"input_schema":null},{"name":"icr_list_images","description":"List images in IBM Container Registry (ICR)","write_action":false,"price_micros":0,"input_schema":null},{"name":"icr_list_namespaces","description":"List IBM Container Registry (ICR) namespaces in your account","write_action":false,"price_micros":0,"input_schema":null},{"name":"inspect_container_image","description":"Inspect a local container image — shows architecture, labels, environment variables, entrypoint, exposed ports, and layer count","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_local_images","description":"List all local container images","write_action":false,"price_micros":0,"input_schema":null},{"name":"login_to_registry","description":"Log in to a container registry (e.g. IBM Container Registry) so images can be pushed/pulled. Uses IBM Cloud IAM token for ICR or username/password for other registries.","write_action":false,"price_micros":0,"input_schema":null},{"name":"proc_build_push_deploy","description":"PROCEDURE: Full container pipeline in one step — auto-detects Podman or Docker, builds for linux/amd64, pushes to IBM Container Registry (ICR), creates or updates a Code Engine application, waits for ready, and returns the public URL. Accepts a project name or ID. Builds the full ICR image path from namespace + app name + tag so you do not need to know ICR URLs. When PROVENANCE_ENABLED=true, emits","write_action":true,"price_micros":0,"input_schema":null},{"name":"proc_setup_custom_domain","description":"PROCEDURE: Custom domain setup in one step — reads TLS certificate PEM files from disk (e.g. from certbot/Let's Encrypt), creates a TLS secret in Code Engine, then creates the domain mapping. Returns the CNAME target value to add in your DNS provider.","write_action":false,"price_micros":0,"input_schema":null},{"name":"prune_images","description":"Remove unused/dangling container images to reclaim disk space. By default removes only dangling images; use all=true to remove all unused images.","write_action":true,"price_micros":0,"input_schema":null},{"name":"push_container_image","description":"Push container image to registry","write_action":false,"price_micros":0,"input_schema":null},{"name":"remove_local_image","description":"Remove a local container image to free disk space","write_action":true,"price_micros":0,"input_schema":null},{"name":"tag_container_image","description":"Tag a local container image with a new name/tag — useful to retag before pushing to ICR","write_action":false,"price_micros":0,"input_schema":null},{"name":"test_container_locally","description":"Run container locally for testing","write_action":true,"price_micros":0,"input_schema":null},{"name":"write_or_modify_file","description":"Write or update a text file in the workspace. Returns bytes written and content hash.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":60,"grade":"C","scanned_at":"2026-09-26T11:38:07.231Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T11:38:07.285Z","components":{"code":{"score":13,"max":25,"notes":["33 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 84 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.shell-concat","severity":"high","component":"code","title":"Shell command built from a string (injection risk)","evidence":"build/test-integration.js: … 'docker']) { try { execSync(`which ${rt}`, { stdio: 'ignore' }); …"}],"inputs":{"packages":[{"registryType":"npm","identifier":"code-engine-mcp-server","version":"1.4.2","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-07-02T18:40:13.024Z","repositoryUrl":"git+https://github.com/markusvankempen/code-engine-mcp-server.git","weeklyDownloads":69}],"repo":{"found":true,"owner":"markusvankempen","repo":"code-engine-mcp-server","archived":false,"pushedAt":"2026-07-04T22:02:29Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/8257509?v=4","ownerCreatedAt":"2014-07-24T13:40:14Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/8257509?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":69,"license":"Apache-2.0","lastPushAt":"2026-07-04T22:02:29.000Z","score":19}}}},"grade_history":[],"reviews":[]}