apm_complexity
Analyze task complexity, generate expansion recommendations, and create reports
Run a project from a brief: an interactive interview that generates the task list, tasks and subtasks with dependencies, complexity analysis with expansion recommendations, and Context7 documentation lookup in the same server.
LABSCO SUMMARY
apm_project_brief_create and both of its polling tools carry the same instruction — task generation is long-running, and the user should be told to be patient — which is a small piece of interface design doing real work, because a silent multi-minute wait is where people abandon a tool and start again. The complexity analysis is the distinctive capability: rather than only tracking tasks, it says which ones are too large and recommends how to break them down. The Context7 pair rides along as a separate capability, and its ordering constraint is stated plainly — resolve the library ID first, because the documentation tool will not accept a bare package name.
A project management server built around an artifacts file, with an interview-driven brief, task and dependency tools, complexity analysis, and library documentation retrieval.
A project root in PROJECT_ROOT, an Anthropic API key in ANTHROPIC_API_KEY, and a Perplexity API key in PERPLEXITY_API_KEY.
One command plus a key — npx -y @gannonh/agent-pm@latest, then supply credentials
USE CASES
The interview runs as a long operation: create it, poll the status, then collect the result once generation has finished. Generating the task files turns whatever came back into one file per task under apm-artifacts.
Complexity analysis returns expansion recommendations against a threshold and writes a report; the modify tool then splits the tasks it flagged into subtasks, with a research mode when the split needs outside context.
Dependencies are edges you add, remove and validate rather than a field you remember to fill in, and the query tool reads the backlog back by status, priority or contained text with subtasks attached.
Resolve the package name to a Context7 library id first — the docs tool will not take a bare name — then fetch documentation narrowed to the topic you are implementing.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
apm_complexityAnalyze task complexity, generate expansion recommendations, and create reports
apm_dependenciesManage task dependencies
apm_project_brief_createCreate a project brief through an interactive interview process and generate tasks. IMPORTANT: Task generation is a long-running operation that may take several minutes to complete. Always inform users to be patient when this operation is in progress.
apm_project_brief_resultGet the result of a completed project brief interview operation. Call this after apm_project_brief_status indicates the operation is complete. If the operation is still running, inform users to be patient as task generation can take several minutes.
apm_project_brief_statusGet the status of a project brief interview operation. IMPORTANT: If the status is "running", remind users that the operation may take several minutes to complete, especially for task generation.
apm_taskManage and query tasks in the project
apm_task_generateGenerates individual task files in apm-artifacts directory based on artifacts.json
apm_task_modifyCreate, update, and delete tasks and subtasks
context7_library_docsFetches up-to-date documentation for a library. You must call 'context7_library_id' first to obtain the exact Context7-compatible library ID required to use this tool.
context7_library_idRequired first step: Resolves a general package name into a Context7-compatible library ID. Must be called before using 'context7_library_docs' to retrieve a valid Context7-compatible library ID.
BEFORE YOU INSTALL
10 tools when we connected. context7_library_id and context7_library_docs are available but undocumented. Names with a _node suffix in the documentation's detail sections, such as apm_complexity_node, are stale; the real name is apm_complexity.
CONTEXT COST
Rated by the size of the 10 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y @gannonh/agent-pm@latest{
"mcpServers": {
"agent-pm": {
"command": "npx",
"args": [
"-y",
"@gannonh/agent-pm@latest"
],
"env": {
"PROJECT_ROOT": "<YOUR_PROJECT_ROOT>",
"ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_API_KEY>",
"PERPLEXITY_API_KEY": "<YOUR_PERPLEXITY_API_KEY>"
}
}
}
}{
"augment.advanced": {
"mcpServers": [
{
"name": "agent-pm",
"command": "npx",
"args": [
"-y",
"@gannonh/agent-pm@latest"
],
"env": {
"PROJECT_ROOT": "<YOUR_PROJECT_ROOT>",
"ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_API_KEY>",
"PERPLEXITY_API_KEY": "<YOUR_PERPLEXITY_API_KEY>"
}
}
]
}
}