DevFlow MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEVFLOW_URL | No | Backend URL | https://api.app.dev-flow.tech |
| DEVFLOW_TOKEN | No | Auth token (skips browser auth) | |
| DEVFLOW_PROJECT_ID | No | Project scoping (from .devflow.json) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| devflow_initA | Initialize a DevFlow work session for a flow. MUST be called before any other tools (except flow_list and flow_create). Without devflow_init, all tools are blocked. What it does:
Call this at the start of every work session. |
| flow_listA | List flows as a Markdown table (ID | State | Assignee | Titel). Conventions enforced uniformly across the plugin (skill: devflow-flow-display):
Use this to find flows to work on or to brief the user on the backlog. |
| flow_getA | Get detailed information about a specific flow. Returns the full flow including:
Use this before starting work on a flow to understand requirements. |
| flow_createA | Create a new flow in a project. Use this to create new feature requests, bug reports, or tasks. The flow starts in 'idea' state by default. DF-378 β Valid metadata triple required:
If your text is long, put the title into Requires a projectId (use project_list to find it). |
| flow_updateA | Update a flow's state or submit deliverables. Use this to:
agentStatus is automatically derived from your tool calls - you don't need to set it manually. IMPORTANT: Some state transitions require mandatory fields:
|
| flow_get_feedbackA | Get user feedback for a flow. Use this at the start of a session to check if the user has provided feedback on:
If feedback exists, you should address it before continuing work. |
| flow_comments_getA | Reload only the discussion (comments) for a flow as a Markdown section. Returns the same "## Discussion (N)"-section that flow_get appends. Useful when:
Resolved comments are marked with [β resolved]. Body is rendered verbatim β wikilinks like [[adr-134]] stay raw (use wiki_get_page to resolve them). |
| task_listA | List all tasks for a flow. Tasks are sub-items of a flow that track implementation progress. Returns tasks with their completion status and hierarchy. |
| task_createA | Create a new task under a flow. Use this to break down a flow into smaller, trackable steps. Tasks can have:
Best practice: Create tasks for each logical step before starting implementation. |
| task_updateA | Update a task's status or details. Use this to:
Always mark tasks complete when you finish them to track progress. |
| agent_session_createA | Create a new agent session for a flow. An agent session tracks a unit of work performed by the AI agent. Use this at the start of a work session to log what you're doing. Returns the created session with its ID for subsequent log and complete calls. |
| agent_session_logA | Log a message to an active agent session. Use this to record progress, decisions, or issues during a work session. Supports different log levels:
|
| agent_session_completeA | Complete an active agent session. Use this when you're done with a unit of work to mark the session as finished. Optionally provide a summary of what was accomplished. |
| agent_session_listA | List agent sessions for a flow. Returns all sessions with their status, timing, and summary. Use this to review past work sessions on a flow. |
| doc_page_listA | List all documentation pages for a project, grouped by section. Returns sections with their pages (title, id, section, sortOrder). Use this to see what documentation exists before creating or updating pages. Automatically uses the linked project if no projectId is provided. |
| doc_page_getA | Get a single documentation page with its full content. Returns title, section, content (markdown), tags, and metadata. Use doc_page_list first to find the page ID. |
| doc_page_createA | Create a new documentation page in a project. Use this to add new knowledge, guides, or documentation. Pages are organized by sections (e.g. "Architecture", "Getting Started", "API Reference"). Automatically uses the linked project if no projectId is provided. |
| doc_page_updateB | Update an existing documentation page. All fields are optional β only provide the fields you want to change. Use doc_page_list first to find the page ID. |
| doc_page_deleteA | Delete a documentation page. Use doc_page_list first to find the page ID. |
| release_listA | List all releases for a project. Returns releases with their status, target dates, and descriptions. Automatically uses the linked project if no projectId is provided. |
| release_getA | Get detailed information about a specific release. Returns the full release including name, description, status, and dates. |
| release_createA | Create a new release for a project. Use this to plan a new version or milestone. Automatically uses the linked project if no projectId is provided. |
| release_updateA | Update an existing release. Use this to change the release name, description, status, or target date. |
| searchA | Search across flows, tasks, and projects in DevFlow. Use this to find items by keyword, title, or content. Supports filtering by type (flow, task, project). Returns matching items with their type, title, and a content snippet. |
| project_guidelines_getA | Get project-specific guidelines (markdown). Guidelines are managed by the user via the DevFlow UI and stored in the backend. Automatically uses the linked project if no projectId is provided. |
| project_guidelines_updateA | Update project-specific guidelines (markdown). Guidelines are stored in the backend and visible in the DevFlow UI. Automatically uses the linked project if no projectId is provided. |
| devflow_statusA | Show DevFlow MCP connection status or manage the connection. Works without devflow_init. Actions:
|
| devflow_connectA | Connect this project to DevFlow. Links the current directory to a DevFlow project, enabling flow tracking and enforcement. Use when you want to start using DevFlow in this directory. |
| devflow_disconnectA | Disconnect this project from DevFlow. Removes .devflow.json and stops the heartbeat. You can re-enable anytime with devflow_connect. |
| flow_uploadA | Upload a file as an attachment to the current flow. Use this to attach markdown documents, text notes, HTML docs, or other text-based files. The file will be visible in the DevFlow UI and accessible to other agents. Common use cases:
|
| flow_upload_fileA | Attach a file from disk to the current flow. Use this for images / PDFs / large files (up to 50 MB). For agent-written text content (markdown plans, summaries, notes), prefer The file is read from Common use cases:
|
| wiki_searchA | Full-text search over all wiki assets (flows, doc_pages, reviews, releases). Uses SQLite FTS5 with prefix matching. Returns hits with title + snippet. Use this when the user asks "what do we know about X?" or to find relevant ADRs/Patterns/Runbooks before planning. |
| wiki_get_pageA | Resolve a wiki reference to a concrete asset and return it with backlinks. The raw can be a slug (e.g. "adr-014"), a doc_page title, or a flow display_id. |
| wiki_list_by_typeA | List all wiki assets of a specific document_type (adr | pattern | runbook | customer_context | glossary). Returns a summary (id, title, slug, verified_state). |
| wiki_backlinksA | Find all assets that link TO a given asset (reverse lookup). Useful to see where an ADR or Pattern is referenced. |
| wiki_graph_neighborsC | Return the local knowledge graph around a project (nodes + edges). Optional type filter to limit which asset types appear. |
| wiki_get_flow_contextB | Return a compact context briefing for a flow: outgoing wiki links + backlinks + tags. Use this before writing a plan to pull relevant ADRs/Patterns automatically. |
| wiki_get_project_contextB | Return a brief overview of the project knowledge: number of assets per type, top-tagged categories, and recent updates. Useful as a project primer. |
| wiki_get_briefingA | DF-310 β Per-flow LLM-Wiki briefing. Returns the curated set of related ADRs, related patterns/runbooks/intents, parallel work in scope, and open knowledge gaps for a specific flow. This is the same data the Knowledge-Tab in the UI renders via WikiBriefingPanel. Use this in planning + before reviewβdone to make sure the flow's plan + implementation respect the existing wiki and to find gaps that the agent should close (preferably via 'extend', see knowledge_check_resolve). |
| wiki_get_indexA | DF-312 β Hierarchical TOC of the project's wiki, grouped by lifecycle_stage (release / plan / idea / superseded / deprecated). Each entry has id, displayId, title, lifecycleStage, documentType, tags, updatedAt. Use this for "what does the wiki actually contain" β global counterpart to wiki_get_briefing (which is per-flow). |
| wiki_get_logA | DF-312 β Chronological mutation feed of the wiki: ADR/doc_page creates, extends, supersedes, deprecates within a time window. Default window: 30 days. Use 'days' to widen up to 365. Useful for "what's been happening to the wiki recently" β drives the Activity-Tab in the UI. |
| wiki_get_lintA | DF-312 β Health-report of the wiki: stale (release-stage entries older than N days that are still cited), orphan (entries with no in/out wiki-links), contradictions (deprecated/superseded ADRs that newer sources still cite). Use periodically (or before a major refactor) to keep the wiki clean. Resolve findings via the devflow-wiki-lint skill β never delete entries, always extend / cross-link / re-classify. |
| ideas_getA | DF-315 β Idea-Backlog: aggregates 5 organic idea sources from the wiki into one curated pipeline:
Each item has a prefilledSummary + prefilledDescription ready to feed into flow_create. Use this to pick the next thing to work on without staring at a blank page β the wiki itself is the idea backlog. |
| error_context_getA | DF-316 β Error-Driven Wiki Lookup. When you hit an unexpected error / exception / failing test, call this FIRST (via the devflow-error-investigator skill) to pull every wiki signal that's relevant: matching runbooks (FTS), ADRs whose affects_paths cover the error file, recent flows in the same area, related patterns, similar past errors from done-flows, plus a briefing-Markdown. Iron Law of compounding wikis: never debug from scratch what the wiki has already seen. If no runbook matches AND the fix is non-trivial, write a runbook on the way out. |
| idea_prompts_getA | DF-318 β Idea-Prompt-Garage. Returns curated prompts per area (Auth, Billing, Performance, β¦) with wiki-evidence already loaded. The user pastes one of these prompts into a chat with you, and you respond using the devflow-area-ideation skill. Each area has: name, icon, counts (ADRs/patterns/runbooks in scope), and a ready-to-paste prompt. Use this to find well-grounded next-step ideas for a project domain instead of brainstorming from scratch. |
| adr_listA | List all Architecture Decision Records for a project. Optional status filter (proposed | accepted | deprecated | superseded). Returns ADR-###, title, status, decided_at. |
| adr_getA | Get a single ADR by its number. Returns full content, status, supersedes chain, originated flow. Use this to pull the full rationale of a specific decision before planning changes. |
| adr_acceptA | Accept a decision.md flow-attachment as an official ADR. Auto-assigns the next ADR number for this project, copies frontmatter, links back to the flow. Idempotent: re-calling with the same attachmentId returns the existing ADR. |
| adr_update_statusA | Change an ADR's status (proposed β accepted β deprecated β superseded). Use when an architectural decision is formally accepted, deprecated, or replaced. |
| adr_get_audit_logA | Get the audit log (status change history) for an ADR. Returns the full timeline of status transitions with user, timestamp and optional note. Use this to understand why a decision moved from proposed β accepted or was later deprecated/superseded. |
| knowledge_backfill_requestA | Prepare a knowledge backfill run for a project. Returns done-flows + existing ADRs + structured instructions that YOU (Claude) must follow to classify and propose knowledge drafts. This is the MCP-first alternative to the keyword heuristic. Workflow:
Be conservative. Only propose drafts you are confident about. Better few high-quality drafts than many noisy ones. |
| knowledge_draft_createA | Create a new knowledge draft. Called by YOU (Claude) after classifying flows via knowledge_backfill_request, or standalone when you identify a flow worth documenting. Dedup is automatic β if a draft with the same (projectId, draftType, title) already exists in any status, the existing draft is returned and sourceFlowIds are merged. You can safely call this repeatedly. Rules:
|
| knowledge_draft_listA | List knowledge drafts for a project. Optional status filter (pending | accepted | rejected). Useful before proposing new drafts β check what is already queued so you don't duplicate your own suggestions. |
| knowledge_draft_acceptA | Accept a draft. Creates the corresponding ADR or doc_page and marks the draft accepted. This is the commit step β use only when you are certain the draft is good to merge. Normally users accept via the UI; this tool exists for autonomous workflows. |
| knowledge_draft_rejectA | Reject a draft with optional reviewer notes. Rejected drafts are remembered β dedup will not propose the same title again. |
| knowledge_harvestA | Harvest knowledge from a single done-flow. Call this right after flow_update transitions a flow to done (the server's nextStep will remind you). Returns the flow + existing ADRs + related drafts + instructions. Decide: does this flow warrant a new draft? If yes, call knowledge_draft_create. If the theme is already covered, skip. |
| knowledge_check_flowA | Run a knowledge check on a flow: spot drift against existing ADRs and identify missing knowledge (topics without an asset). Returns flow text + ADR snapshots + instructions. YOU return the analysis β no draft creation in this tool. Use before submitting a flow to review. |
| knowledge_check_driftB | Check whether an ADR has drifted from the actual codebase. Returns the ADR content + its affects_paths (glob patterns). YOU THEN:
If affectsPaths is empty, tell the user: "ADR-N has no affects_paths configured β ask them to add glob patterns via the UI". |
| planning_contextA | Get a compact context bundle for planning a flow. Returns related ADRs, parallel open flows, similar done flows, forward-intents, architecture-module excerpts and drift warnings β all in one call, priority- scored, budgeted under ~5500 tokens. Call this AT THE START of planning instead of scattering wiki_search/adr_list/ flow_list calls. Use the markdown output directly as context; use the JSON sections if you want to cross-reference specific items. |
| project_bootstrap_auditA | Bootstrap the knowledge base of a project by auditing its code. Returns a structured prompt: default subsystem list (auth/data/api/frontend/realtime/billing/admin/mobile/docs/devops/testing), dedup-list of existing ADRs/drafts/pages, and explicit instructions for Claude to read the local repo with Glob/Grep/Read and then create architecture_module pages + knowledge drafts. Call this once per new project. Idempotent β re-running will skip existing entries via the dedup-list. |
| pending_workA | Snapshot of open work across the project. Returns four buckets:
Use this BEFORE starting planning so you don't propose something already in flight or already captured as an intent. Optional tag / path filters narrow the result to your area. Pass excludeFlowId= to exclude the flow you are currently planning for. |
| intent_resolveA | Close a forward-intent page. Sets frontmatter.status='resolved' and links the resolving flow. Forward-intents are doc_pages with document_type='intent' β written by flow_seal (DF-254) when a done-flow declared follow-up work via forward_intents frontmatter. When your current flow actually delivers that follow-up, call this tool so the loop is closed and the intent disappears from pending_work / planning_context. flowId = the flow that is resolving the intent (typically your current flow). pageId = the intent doc-page id (find via pending_work β openIntents). |
| knowledge_autotag_suggestA | Suggest project tags for a piece of content using TF-IDF against the existing project tag pool. Never invents new tags β only existing ones are suggested, to avoid tag-wildwuchs. Use when you are writing a new doc-page / ADR / flow summary and want to tag it consistently with the rest of the project. Returns suggestions ranked by confidence with matchedTokens for debuggability. Pass existingTags so already-applied tags are excluded from suggestions. |
| knowledge_check_resolveA | Resolve a single knowledge-check warning manually. In most cases you do NOT need this tool anymore β the pre-tool-use hook on flow_update auto-calls POST /api/projects/:id/knowledge/auto-resolve which applies the Iron Law in bulk (extend > create > intent_defer; never dismiss). Use this manual tool only for surgical overrides. Iron Law of the LLM-Wiki: extend > create > intent_defer > NEVER dismiss. The backend now ENFORCES this β calling resolutionType='dismiss' when an extend-target exists returns 400 'iron_law_dismiss_blocked' with the recommended slug. Resolution types:
flowId = the flow the warning is attached to. topic = the warning's topic string (e.g. 'billing'). |
| devflow_token_emitA | Emit a discipline-token for a flow + skill (DF-289 backend, DF-292 gate-check). A discipline-token is an HMAC-signed proof that a discipline-skill ran successfully. The signed token is returned ONLY once β the backend stores only the hash. Keep the signed token in session memory. Use this at the END of a discipline-skill run (devflow-tdd, devflow-verification-gate, devflow-adr-compliance, devflow-collision-acknowledged, ...) once all iron-laws of the skill are satisfied. Pass the token later to flow_update when transitioning under The backend verifies all required tokens before allowing the transition. Without an opt-in project (project_configs.allow_agent_self_approval=1) and matching pipeline_steps.required_skills, the gate-check rejects. |
| devflow_tokens_listA | List active (non-expired) discipline-tokens for a flow. Does NOT return raw tokens β only metadata (id, skillName, createdAt, expiresAt, evidence). Use this to check what a flow already has before deciding whether to emit a fresh one. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| ask_project | Load ADRs + recent done-flows as context and answer a free-form project question. |
| plan_with_project_knowledge | Prepare a planning prompt for a flow that includes all relevant ADRs + related done-flows. |
| review_with_drift_check | Prepare a review prompt for a flow that includes drift warnings + missing knowledge suggestions. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
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/KlausFreiberufler/devflow-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server