Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ANTHROPIC_API_KEYNoAPI key for Anthropic (if using Anthropic as LLM provider). One of OPENROUTER_API_KEY or ANTHROPIC_API_KEY is required.
OPENROUTER_API_KEYNoAPI key for OpenRouter (if using OpenRouter as LLM provider). One of OPENROUTER_API_KEY or ANTHROPIC_API_KEY is required.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_projectsA

List every project misterdev currently knows about.

Use when: you need to discover which projects are registered before calling
``status``, ``build``, or ``run`` on a specific one. Do NOT use when: the
project isn't registered yet — call ``scan`` first to register it. Related:
``scan`` (register projects), ``status`` (inspect one project). Takes no
parameters.

Side effects: none — read-only, calls no LLM, and returns the same result on
repeated calls (idempotent).

Returns a mapping of project id to an object with its registered ``path`` and
``name``; an empty mapping when nothing is registered.
statusA

Show a project's tasks and their current state.

Use when: you want to inspect what work exists and how far it has progressed,
e.g. before deciding whether to ``run`` pending tasks or ``build`` new work.
Do NOT use when: the project isn't registered — call ``scan`` first, or
``list_projects`` to find the right path. Related: ``list_projects``,
``run``, ``build``.

Side effects: none — read-only, calls no LLM, idempotent.

Returns the project's tasks, each with its id, title, and status.
reportA

Return the latest build report, audit trail, and model performance.

Use when: a ``build`` or ``run`` has finished (or was stopped) and you want
the outcome — which tasks completed/failed/deferred, per-file edits, failed
commands, governance escalations, unmet-goal gaps, token/cost totals, and
per-model success rates. This is misterdev's read-only equivalent of asking
"what did the last run find and do?". Do NOT use when: nothing has been
built yet — ``latest_report`` will be null. Related: ``status`` (live task
states), ``build``/``run`` (produce a report).

Side effects: none — reads only the project's ``.orchestrator`` artifacts,
calls no LLM, and returns the same result on repeated calls (idempotent).

Returns an object with ``latest_report`` (the most recent build's structured
summary, or null), ``audit`` (command/edit/governance counts), and
``models`` (per-model attempts, success rate, and average cost). Returns an
``error`` field instead when ``path`` is not an existing directory.
scanA

Discover misterdev projects under a directory and add them to the registry.

Use when: you have projects on disk that misterdev does not know about yet,
before calling ``status``, ``build``, or ``run`` on them. Do NOT use when:
the projects are already registered (call ``list_projects`` to check) — a
re-scan is harmless but redundant. Related: ``list_projects`` (see what is
registered), ``status`` (inspect a registered project).

Side effects: writes only to misterdev's project registry — it never reads,
edits, or executes any project code, and re-scanning the same directory is
idempotent (no duplicates).

Returns a short confirmation string naming the directory scanned.
buildA

Autonomously plan AND execute a goal in a project, from scratch.

Use when: you have a goal but no existing task plan — ``build`` analyzes the
project, decomposes ``goal`` into tasks, edits the code, and verifies each
change through build/test/lint/typecheck gates, reverting anything that
regresses. Do NOT use when: a task plan already exists and you just want to
execute it (use ``run``), or the working tree is dirty (commit/stash first).
Related: ``run`` (execute an existing plan), ``status`` (inspect tasks).
Pass ``reference_dir`` to port from an existing implementation: its
module/symbol map is extracted read-only and guides the plan.
Pass ``spec_text`` when you have already written the implementation spec
(e.g. in a Claude conversation) — misterdev skips its own planning phase
and executes your spec directly, making it Claude's execution backend.

DESTRUCTIVE side effects: edits files and makes git commits, and calls an
external LLM provider (open-world, non-idempotent). It refuses to run on a
dirty working tree. ``dry_run=True`` previews without changing anything;
``budget`` caps spend; ``max_tasks`` caps scope.

Returns a compact text report: what was done, per-gate results, and cost.
runA

Execute a project's ALREADY-PLANNED pending tasks (a devplan).

Use when: tasks already exist (from a prior ``plan`` or a devplan directory)
and you want to execute them. Do NOT use when: no plan exists and you are
starting from a goal — that is ``build``'s job (it analyzes and decomposes).
Related: ``build`` (plan + execute a goal), ``status`` (see the task ids).
Pass ``task_id`` to run a single task.

DESTRUCTIVE side effects: edits files and makes git commits, and calls an
external LLM provider (open-world, non-idempotent). ``dry_run=True`` previews
without changing anything.

Returns a short text summary of what was run or previewed.
build_asyncA

Start an autonomous build in the BACKGROUND and return immediately.

Use when: the build may run for minutes and you want to keep working — this
returns a ``run_id`` right away instead of blocking (as the synchronous
``build`` does) until the run finishes. Poll ``job_status`` with the
``run_id`` to watch progress, ``stop_job`` to cancel, ``list_jobs`` to see
everything running. Do NOT use for a quick preview — use ``build`` with
``dry_run=True``. Related: ``build`` (synchronous), ``report`` (final outcome).

DESTRUCTIVE side effects (once running): edits files, makes git commits, and
calls an external LLM provider. Refuses to start a second job for a project
that already has one running (one writer per project).

Returns ``{run_id, status}`` on success, or ``{error}`` when a job is already
running for this project.
run_asyncA

Start executing a project's planned tasks in the BACKGROUND.

Use when: a devplan exists and you want it executed without blocking — like
``run`` but returns a ``run_id`` immediately. Poll ``job_status``, cancel
with ``stop_job``. Do NOT use to plan from a goal — that is ``build_async``.
Related: ``run`` (synchronous), ``build_async``.

DESTRUCTIVE side effects (once running): edits files, makes git commits, and
calls an external LLM provider. Refuses a second job for a project that
already has one running.

Returns ``{run_id, status}``, or ``{error}`` when one is already running.
job_statusA

Return a background job's current state.

Use when: you started a job with ``build_async``/``run_async`` and want to
know whether it is still ``running`` or has ``succeeded``/``failed``/
``stopped`` — and, when finished, its report (``result``) or ``error``.
Read-only and idempotent. Related: ``list_jobs`` (all jobs), ``stop_job``.

Returns the job object (run_id, kind, project_path, status, result, error,
timestamps), or ``{error}`` when the run_id is unknown.
stop_jobA

Request cooperative cancellation of a running background job.

Use when: a ``build_async``/``run_async`` job should stop — it finishes any
in-flight task and starts no new work, then produces a partial report. Poll
``job_status`` afterward to confirm it reaches ``stopped``. Idempotent:
stopping a finished or already-stopped job is a harmless no-op. Related:
``job_status``, ``list_jobs``.

Returns ``{run_id, stopping: true}`` when a running job was signalled, or
``{run_id, stopping: false}`` when the id is unknown or already finished.
list_jobsA

List every background job this server has started and their states.

Use when: you want an overview of all ``build_async``/``run_async`` jobs —
running and finished — e.g. to find a lost run_id. Read-only, idempotent.
Related: ``job_status`` (one job), ``stop_job``.

Returns ``{jobs: [...]}``, each entry the same object ``job_status`` returns.
propose_planA

Analyze the project and return ranked, UNAPPROVED work proposals.

Use when: you want misterdev to recommend what to work on and let a human
approve a subset BEFORE any code is edited — the review gate. The proposals
are persisted, so ``get_plan`` re-reads them, ``approve_plan`` marks a
subset, and ``execute_plan`` builds the approved ones. The codebase is
analyzed in this process, so it never enters the client's context. Do NOT
use to execute immediately without review — that is ``build``. Related:
``get_plan``, ``approve_plan``, ``execute_plan``.

Side effects: spends LLM budget analyzing the project and writes the plan to
``.orchestrator/proposed_plan.json``; it edits NO source code.

Returns ``{items: [...]}`` — each item has an id, title, work_type,
rationale, and ``approved: false`` — or ``{error}`` on failure.
get_planA

Return the persisted proposed plan and which items are approved.

Use when: you want to review the proposals from ``propose_plan`` (and see
what has been approved so far) before approving or executing. Read-only and
idempotent. Related: ``propose_plan``, ``approve_plan``, ``execute_plan``.

Returns ``{items: [...]}`` (empty ``items`` when no plan has been proposed).
approve_planA

Set the approval flags on the proposed plan, then persist.

Use when: after ``propose_plan``/``get_plan`` you want to mark which items
should actually run. ``approve_all`` approves everything; otherwise
``approve_ids`` are approved and ``reject_ids`` un-approved (reject wins a
tie — the safer default). Idempotent. Then call ``execute_plan``. Related:
``propose_plan``, ``get_plan``, ``execute_plan``.

Side effects: rewrites ``.orchestrator/proposed_plan.json``; edits no code.

Returns ``{items: [...]}`` with updated flags, or ``{error}`` when no plan
exists to approve.
execute_planA

Execute the APPROVED items from a previously proposed plan.

Use when: ``propose_plan`` + ``approve_plan`` have selected the work and you
want it built — this composes a goal from the approved items and runs the
normal build pipeline (decompose, edit, verify, revert regressions). Do NOT
use before approving anything (it returns a no-op message). Related:
``propose_plan``, ``approve_plan``, ``build``.

DESTRUCTIVE side effects: edits files, makes git commits, and calls an
external LLM provider. Refuses a dirty working tree (like ``build``).

Returns a compact build report, or a message when nothing is approved.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/dcondrey/misterdev'

If you have feedback or need assistance with the MCP directory API, please join our Discord server