aidflow
Allows creating and managing git worktrees for session isolation and parallel task development.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aidflowcreate a new session for fixing the login bug"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
aidflow
Session-based development workflow MCP server for Claude Code.
Every development task gets its own session with a plan, progress tracking, and archiving. Claude Code automatically resumes where you left off, even in new conversations.
Installation
npm install -g aidflowAdd to your Claude Code MCP configuration (~/.claude/settings.json or project .mcp.json):
{
"mcpServers": {
"aidflow": {
"command": "aidflow",
"env": {
"AIDFLOW_ROOT": "/path/to/your/project"
}
}
}
}Or run with npx (no install):
{
"mcpServers": {
"aidflow": {
"command": "npx",
"args": ["-y", "aidflow"],
"env": {
"AIDFLOW_ROOT": "/path/to/your/project"
}
}
}
}
AIDFLOW_ROOTdefaults toprocess.cwd()if not set.
Related MCP server: CHARLIE
What It Does
aidflow structures your Claude Code workflow into sessions - isolated units of work with plans, progress tracking, and completion reports.
Development Cycle
init -> /spec -> session create -> plan create -> work -> /review -> session complete -> /reportinit- Set up.aidflow/directory and configuration/spec- Define project engineering foundations (SPEC.md)session create- Start a new work sessionplan create- Structured planning with multi-round requirements gatheringWork - Implement using Claude Code's native tools, following the plan
/review- Quality gate before completingsession complete- Archive the session to history/report- Generate a completion report
Context Recovery
When you start a new conversation, aidflow automatically detects active sessions and resumes where you left off - reading the plan, checking progress, and continuing work without losing context.
Git Worktree Support
Each session can optionally create a git worktree, giving you an isolated branch for the work. Useful for parallel tasks.
Tools
Tool | Actions | Description |
| - | Initialize aidflow in a project |
| create, list, status, complete | Manage development sessions |
| create, get | Create and track work plans |
| list, read | Access project-specific guide documents |
Skills
Installed to .claude/commands/ during init:
Skill | Description |
| Create or update SPEC.md (project conventions) |
| Quality review before session complete |
| Generate completion report after archiving |
Project Structure
After init, your project gets:
your-project/
SPEC.md # Project engineering foundations (via /spec)
.aidflow/
config.yaml # Configuration
README.md # Internal documentation
sessions/ # Active sessions
{name}/
meta.json # Session metadata
plan.md # Work plan (optional)
history/ # Archived sessions
YYMMDD_{name}/
meta.json
plan.md
report.md
guides/ # Project-specific guides
worktrees/ # Git worktrees (gitignored)
.claude/
commands/ # Claude Code skills
spec.md
review.md
report.mdConfiguration
.aidflow/config.yaml:
version: 1
worktree:
auto: false # Auto-create worktree per session
path: ".aidflow/worktrees"
branch_prefix: "" # e.g., "feature/", "fix/"
session:
history_path: ".aidflow/history"
date_format: "YYMMDD" # or "YYYYMMDD"
guides:
path: ".aidflow/guides"Requirements
Node.js >= 22
Claude Code (or any MCP-compatible AI client)
License
MIT
Available Tools
5 toolsguideA
Access project guide documents. (list/read)
list: Show available guides (excludes
_-prefixed required guides).read: Read a specific guide by topic name.
Required guides (_plan.md, _session_*.md, etc.) are auto-loaded by corresponding tools.
Regular guides: When a guide name matches the current task context, proactively read it without waiting for the user to ask.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Guide name to read (without .md extension) | |
| action | No | list: show available guides, read: read a specific guide | list |
| session | No | Session name to resolve service binding. Auto-detects if only one active session exists |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses core behavior: listing excludes _-prefixed guides, reading by topic, and auto-detection of session. It lacks details on error handling or resource usage, but is still informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bullet points and clear sections. It is concise yet packs essential information without verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains list and read behavior but does not specify list output format or error handling. Still, it covers the main functionality adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds meaning: topic is without .md, action defaults to list, session auto-detects. This goes beyond the schema, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool accesses project guide documents, with explicit sub-actions list and read. It distinguishes itself from sibling tools (init, plan, etc.) by focusing on guide access.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use list versus read, and mentions proactive reading for context-matching guides. However, it does not explicitly state when not to use the tool or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
initA
Initialize aidflow in the current project.
Creates .aidflow/ directory, config, guides, and Claude Code skills (.claude/skills/). Call this once when first using aidflow in a project. If already initialized, returns current status (use force: true to overwrite).
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Overwrite existing configuration |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It discloses that initialization creates files and directories, and that re-running without force returns status. However, it does not detail whether overwriting is destructive, permissions needed, or what 'current status' means exactly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words. First sentence states the purpose, second details artifacts, third covers re-invocation and force flag. Information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given it is a simple setup tool with one parameter and no output schema, the description covers inputs, behavior, and idempotency. It could mention output format but is sufficient for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description adds value by explaining the 'force' parameter: 'use force: true to overwrite'. This provides context beyond the schema's default value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Initialize' and the resource 'aidflow' in the current project, listing specific artifacts created (.aidflow/ directory, config, guides, skills). This distinguishes it from siblings like 'guide' or 'plan' which are post-setup tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call this once when first using aidflow' and explains the behavior on re-initialization (returns current status unless force=true). This guides when to use and when to avoid, though it does not compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
planA
Manage session work plans. (create/get)
create: Start a structured planning workflow. Guides through requirements gathering (HITL via AskUserQuestion), codebase research, and writing a comprehensive plan.md (PRD + implementation plan). The plan serves as the final execution specification before coding.
get: Read existing plan and show progress (checkbox-based).
Optional - skip for simple bug fixes. Use for medium/large tasks that benefit from upfront planning.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | create: start planning, get: read existing plan | create |
| session | No | Session name. Auto-detects if only one active session exists |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, but the description discloses that 'create' involves a structured workflow with HITL via AskUserQuestion, codebase research, and writing plan.md. 'get' provides checkbox-based progress. This is transparent but could mention any side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise with bullet points for actions and a usage note. Slightly verbose in the 'create' description but overall efficient. No wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers purpose, actions, usage guidelines, and workflow. It is sufficiently complete for an AI agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions. The description adds context beyond schema by explaining the workflow for each action and auto-detection of session. It enhances understanding of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages session work plans with two distinct actions (create/get). It specifies the workflow for 'create' (requirements gathering, research, plan.md) and distinguishes from siblings like 'guide' and 'init'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance provided: 'Optional - skip for simple bug fixes. Use for medium/large tasks that benefit from upfront planning.' This tells when to use and when to skip, with an alternative implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_serviceA
Select target service in multi-service workspace. (list/select/status)
list: Discover all .aidflow directories in workspace. Auto-selects if only one found.
select: Select a specific service by name. Optionally bind to a session for parallel work.
status: Show current service selection (session-bound or global).
Call this before other tools (session, plan, guide) when working in a multi-service workspace.
Single-service projects are auto-selected on list.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | list: 서비스 목록 조회, select: 서비스 선택, status: 현재 선택 상태 확인 | list |
| service | No | 선택할 서비스명 (action이 "select"일 때 필수) | |
| session | No | 서비스를 바인딩할 세션명. 미지정 시 글로벌 선택 | |
| workspacePath | No | 서비스 탐색 기준 디렉토리. 미지정 시 워크스페이스 루트 사용 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains behaviors like auto-selection on list, session binding, and global selection. Missing details on what state changes occur upon selection, but overall adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with a clear structure: a brief intro followed by bullet-pointed actions and usage notes. Every sentence serves a purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, no nested objects, no output schema), the description fully covers all actions, parameters, and usage context. It explains the tool's role in the workflow adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 4 parameters are described in the schema (100% coverage). The description adds contextual meaning, especially for the 'action' enum and the 'session' parameter, clarifying their roles beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: selecting a target service in a multi-service workspace. It lists three specific actions (list, select, status) and distinguishes itself from sibling tools by being the service selection mechanism.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: 'Call this before other tools (session, plan, guide) when working in a multi-service workspace.' It also notes that single-service projects auto-select, indicating when not to use explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sessionA
Manage development sessions. (create/list/status/complete)
create: Start a new session. Optionally creates a git worktree for isolation.
list: Show all active sessions with their status.
status: Get session progress (changed files, plan progress, next suggestion).
complete: Archive session to history. Prompts for worktree cleanup.
Start with create when beginning work, end with complete when done.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Session name (for create, status, complete) | |
| force | No | Force archive incomplete session (complete only) | |
| action | Yes | Session action | |
| worktree | No | Create git worktree for this session (create only). Defaults to config.worktree.auto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses key behaviors: optional git worktree creation, archiving to history, prompting for cleanup on complete. However, it doesn't detail error states (e.g., if a session name already exists) or exact side effects of each action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bullet points and a concise summary sentence. Every sentence adds value—no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, one enum) and no output schema, the description provides sufficient context for usage. It covers the main workflows but lacks details on return values or error handling, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining each action enum value and specifying that worktree defaults to config.worktree.auto. The name and force parameters are already well-described in the schema, so the description provides moderate additional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool manages development sessions and lists four specific actions (create, list, status, complete) with brief explanations. This clearly distinguishes it from sibling tools like 'guide' or 'plan' which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Start with create when beginning work, end with complete when done.' It also indicates when to use each action (e.g., 'list: Show all active sessions') and implies alternatives by context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.2.3- First observed
guide - First observed
init - First observed
plan - First observed
select_service - First observed
session
TDQS
Scored across 5 tools
All five tools have clearly distinct purposes: guide for reading documents, init for project setup, plan for work plans, select_service for multi-service selection, and session for development sessions. No overlap in functionality.
Most tool names are single lowercase verbs (guide, init, plan, session), which is consistent. However, 'select_service' breaks this pattern by using an underscore and a verb_noun structure, creating minor inconsistency.
With 5 tools, the server is well-scoped. Each tool addresses a core aspect of the development workflow without being too numerous or too sparse.
The tool set covers the main lifecycle (init, plan, session, guide reading) with appropriate actions. Minor gaps like no explicit update for plans or deselect for service are acceptable for the domain.
Maintenance
Related MCP Connectors
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
MCP server for generating rough-draft project plans from natural-language prompts.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server for managing Claude Code conversation sessions1296 npmMIT
- AlicenseNot gradedqualityBmaintenanceUnified knowledge management and agent orchestration MCP server for Claude Code that remembers project patterns, assigns specialist agents, loads relevant knowledge into prompts, and tracks work across sessions to save time and reduce costs.1GPL 3.0
- AlicenseNot gradedqualityDmaintenancePersistent memory MCP server for Claude Code that captures and recalls project context across sessions, eliminating the need to re-explain architecture and decisions daily.176 npm1MIT
- FlicenseAqualityFmaintenanceAn MCP server for coordinating multiple Claude Code sessions across related projects.11-