Skip to content
Back to search
100
MCP live MCP 2026-07-28 streamable-http

Keelen

io.github.jamie7893/keelen

Autonomous dev team steered from chat: plain-English requests in, tested merged PRs out.

Uptime
100.0%
3 direct probes · 30d
Response
619ms
last probe
Tools
41
callable
Resources
0
readable
Prompts
0
available
Primary URL
https://keelen.ai/mcp

Tools · 41

list_projects

List the projects in this workspace, with what each one is building.

create_project

Start building something new: creates a GitHub repo and begins work on it. Use this ONLY when the user wants a NEW repo scaffolded. If they already have a repo, use import_project(repo_full_n…

submit_request

Ask for a change in plain English: a feature, a bug fix, or a new direction. Submit ONE feature or intent per call; split a multi-feature ask into separate requests. `text` must be under 1600…

get_request_status

Check what happened to a request, and read any questions it asked back. Intake is async (~5min cadence) - poll periodically. Read `next_action`: "wait" (still processing), "answer_questions" …

set_product_vision

Say what this product is for, so every run knows what it is building toward. `vision_md` is free-form markdown and must be non-empty. Tenant-scoped: a project not in the caller's workspace 40…

set_product_goal

Set the outcome to aim at right now, so work is prioritised toward one thing. `goal_md` is free-form markdown and must be non-empty. Tenant-scoped: a project not in the caller's workspace 404…

list_roadmap

See what is planned for a project and in what order. Queued rows also say whether the expand picker would elect them (`electable`) and, when not, why it skips them (`skip_reason`: crash_c…

reorder_roadmap

Change what gets built first. `ordered_ids` is the desired front-to-back order of queued roadmap-item ids (get them from list_roadmap). The first id becomes the highest priority — the cad…

cancel_roadmap_item

Cancel / close a single roadmap item (get its id from list_roadmap). Use this to close a DELIVERED or duplicate item that keeps re-parking: when the work already shipped, every expand produce…

clear_horizon_pin

Clear a queued roadmap item's horizon pin (now/next/later → none). A horizon pin dominates the queue sort, so `reorder_roadmap` cannot move a pinned item out of its band — a stale `now` pin o…

rollback_roblox_place

Roll a Roblox project's place back to a previously-published version. For a `roblox_game` project, re-publishes the RETAINED build artifact for `version_number` (get published versions from t…

project_status

Check how a project is doing: what is in flight, what shipped, what is stuck. Returns lifecycle status, open task count, queued roadmap item count, runs today, verification pass rate, open bl…

close_task

Close a task that should not be built — a duplicate, or work already shipped. Use this when a task on the board is obsolete: the change already landed in another PR, a sibling task covers it,…

get_product_goal

Read a project's current product goal (the outcome work is aimed at). READ THIS BEFORE YOU CALL `set_product_goal`: the setter REPLACES the whole document rather than appending to it, so writ…

get_product_vision

Read a project's current product vision (what the product is for). READ THIS BEFORE YOU CALL `set_product_vision`: the setter REPLACES the whole document rather than appending to it, so writi…

list_escalations

See what the work is stuck on and waiting for a human decision about. `project_status` only COUNTS open escalations; this returns each one with its kind, reason, detail_md, recommended_action…

resolve_escalation

Acknowledge a handled ask only when no blocked task becomes invisible. `decision_md` is a required short note (why/how it was resolved), appended to the escalation's detail_md as an audit tra…

retry_blocked_task

Grant one fresh attempt after fixing a recovery-budget task block. Pass the task_block id returned by ``list_escalations``. Eligibility, tenant, task, failure class, task status, and competin…

rearm_roadmap_item

Run the dashboard's idempotent same-item dependency re-arm. Pass an ``expand_produced_nothing`` or ``roadmap_item_parked`` escalation id. Keelen verifies delivered structural prerequisites, g…

resolve_platform_policy_conflict

Resolve a platform-policy dead-end with a structured plan decision. ``decision`` is one of ``reuse_existing_evidence``, ``split_task``, ``raise_project_cap``, or ``remove_scenario``. ``raise_…

set_ui_review_scenario_cap

Set this web_app project's ui-review scenario budget, or reset it. ``scenario_cap`` is an integer from 6 through 24, or ``null`` to reset to the platform default of 12. The screenshot cap der…

replan_task

Replace an unretryable blocked task without losing its lineage. Creates a fresh, explicitly planned task under the same roadmap item and attempt lineage, transfers prerequisites and downstrea…

control_scheduler

Start, pause, or resume a project's autonomous work. `action` is one of: "enable" | "disable" | "resume" | "process_now". - enable/disable flip scheduler_enabled (the loop dispatches only ena…

archive_project

Archive a project (reversible shelve) — frees a project slot in-tool. Stops any in-flight machine, then flips the project to `archived`: it drops out of the per-tier project cap (freeing a sl…

delete_project

Soft-delete a project (the harder option) — frees a slot and hides it. Stops any in-flight machine, then flips the project to `deleted`: it disappears from `list_projects`, drops out of the p…

run_security_review

Find security problems in a repository: a deep, whole-codebase review. Spawns a one-shot audit that scans the repo across a kind-aware taxonomy (secrets + git history, vulnerable/abandoned de…

run_legal_exposure_review

Find where a codebase creates legal exposure (privacy, consent, data handling). Spawns a one-shot review machine that reads the checkout offline and maps what the code DOES onto commonly cite…

get_legal_exposure_findings

Read a project's legal exposure findings, worst exposure first. Returns each finding as an OBSERVATION plus the obligation commonly cited over that pattern, its citation, the date the citatio…

run_control_gap_review

Start a source-bound security control gap review for one project. The review records bounded engineering observations under the user's selected Cyber Essentials or CMMC Level 1 or Level 2 con…

get_control_gap_findings

Read a project's security-control observations and review boundaries. The result groups records by evidence class without a total or an overall framework outcome. Read `not_determinable` and …

answer_request

Answer a thread's clarifying questions (status must be awaiting_answers). `answers` is a list of {"idx": <int from get_request_status>, "answer_md": <str, 1..2000 chars>}. Answer EVERY questi…

refine_request

Say what is wrong with what a request produced, and have it reworked. Status must be "done". `feedback_md` is 1..2000 chars. Moves the thread to refine_pending; poll get_request_status to see…

signup

Create a Keelen account (or start agent login) — emails a 6-digit code. UNAUTHENTICATED — the only tool besides verify_email that works before a bearer key is configured. `email` is where the…

verify_email

Redeem the emailed 6-digit code for a reveal-once workspace API key. UNAUTHENTICATED. `email` + `code` must match a code issued by signup(email) within the last 15 minutes (5 attempts max). T…

get_onboarding_status

Check what is set up so far and what to do next to get building. Reports engine_connected / github_connected / project_count / payment_status and a `next_action` string you should follow VERB…

open_dashboard

Get a one-click, pre-authenticated dashboard sign-in link for the owner. The engine-connect step — and any dashboard task (billing card update, a project page) — needs a signed-in browser. Be…

connect_github

Get the link that connects a GitHub account, so work can reach real repos. Returns an `install_url` — send it to the user to open in a browser. They pick the GitHub account/org, approve the i…

list_github_repos

List repos the workspace's GitHub connection can see (for import_project). Each entry has full_name, default_branch, private, language, pushed_at. Pass a `full_name` to import_project(repo_fu…

import_project

Connect an EXISTING GitHub repo as a Keelen project. This is the counterpart of create_project: use THIS tool when the user already has a repo, and create_project only to scaffold a brand-new…

get_provisioning_status

Check whether a new project has finished setting up and is ready to build. Returns overall (provisioning | ready | errored), a 7-stage checklist, and a user-facing error_kind when a stage fai…

get_billing

Billing status + a Stripe checkout link when a NEW subscription is needed. `plan` is one of starter | pro | agency (default starter). When the workspace has NO live subscription and needs one…

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "keelen": {
      "url": "https://keelen.ai/mcp",
      "transport": "streamable-http"
    }
  }
}