Atlas / MCP servers / rafeekpro / claude-autopm

claude-autopmBLOCK

mcp/rafeekpro/claudeautopm

Autonomous Project Management Framework for Claude Code - Advanced AI-powered development automation

Verdict
BLOCK
Grade
F
Trust score
30 /100
Exposed tools
27 22r · 5w · 0d
Transport
stdio
License
MIT
Stars
39
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](https://www.npmjs.com/package/claude-autopm) [](https://www.npmjs.com/package/claude-autopm) [](LICENSE) [](https://github.com/rafeekpro/ClaudeAutoPM)

AI-Powered Project Management Framework for Claude Code

ClaudeAutoPM transforms your development workflow with intelligent automation, specialized AI agents via a plugin system, and complete GitHub/Azure DevOps integration. Install only what you need — pay only for the tokens you use.

Quick Install

Requires Node.js >= 22 and npm >= 10.

npm install -g claude-autopm
cd your-project
autopm install

Choose your scenario during installation:

Architecture

Plugin-Based Agent System

ClaudeAutoPM uses a plugin architecture for token efficiency. Only 7 core agents are loaded by default. Specialized agents are installed on demand via plugins.

autopm/.claude/agents/       ← 7 core agents (always available)
packages/plugin-*/agents/    ← 50+ specialized agents (per plugin)

Token savings: Lite installs use 73% fewer agent tokens vs full.

XML Rules Engine

8 critical rules auto-loaded via @include in XML format:

Read from source at commit 48b4be9853eeOBSERVED · 2026-10-12
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add plugin-testing --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env AUTOPM_MASTER_PASSWORD=${AUTOPM_MASTER_PASSWORD} --env AZURE_DEVOPS_TOKEN=${AZURE_DEVOPS_TOKEN} --env CONTEXT7_API_KEY=${CONTEXT7_API_KEY} -- npx -y @claudeautopm/[email protected]
claude-desktop
{
  "mcpServers": {
    "plugin-testing": {
      "command": "npx",
      "args": [
        "-y",
        "@claudeautopm/[email protected]"
      ],
      "env": {
        "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
        "AUTOPM_MASTER_PASSWORD": "${AUTOPM_MASTER_PASSWORD}",
        "AZURE_DEVOPS_TOKEN": "${AZURE_DEVOPS_TOKEN}",
        "CONTEXT7_API_KEY": "${CONTEXT7_API_KEY}"
      }
    }
  }
}
03

Exposed tools (27)

22 read · 5 write · 0 destructive.

ToolRiskDescription
CheckoutreadPayment processing
DashboardreadMain view
F1readDesc1
LoginreadUser authentication
autopm_checkpointwriteCreate a project checkpoint
autopm_close_issuereadClose an issue
autopm_create_issuewriteCreate a new local issue
autopm_epic_templatereadTemplate for creating a new epic
autopm_issue_templatereadTemplate for creating a new issue
autopm_learnwriteSave a project learning
autopm_list_epicsreadList epics with progress
autopm_list_issuesreadList local issues with optional status filter
autopm_list_prdsreadList PRDs
autopm_prd_templatereadTemplate for creating a new PRD
autopm_recallreadGet project learnings
autopm_show_epicreadShow epic with tasks
autopm_show_issuereadShow issue details by ID
autopm_show_prdreadShow PRD details
autopm_start_issuewriteStart working on an issue (set in_progress)
autopm_statusreadProject overview — counts, recent activity
aws-architectreadAWS
epicSyncwriteSync epic to GitHub/Azure DevOps
issueAnalyzereadAnalyze issue for implementation approach
new-namereadnew description
test-agentreadTest agent
test-projectreadTest Project
user-managementreadUser management epic
04

Trust audit

BLOCKgrade F · trust 30/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (14 observation(s))
Network
declared (5 observation(s))
Shell
declared (13 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

CRITICALHard-coded secrets · secret.private_key · CWE-798, CWE-321
packages/plugin-devops/commands/devops:secrets-audit.md:93
-----BEGIN RSA PRIVATE KEY-----
CRITICALHard-coded secrets · secret.private_key · CWE-798, CWE-321
packages/plugin-devops/commands/devops:secrets-audit.md:94
-----BEGIN PRIVATE KEY-----
CRITICALHard-coded secrets · secret.private_key · CWE-798, CWE-321
packages/plugin-devops/commands/devops:secrets-audit.md:95
-----BEGIN OPENSSH PRIVATE KEY-----
HIGHCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
.claude/scripts/decompose-issue.js:320
return yaml.load(content);
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
HIGHCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
.claude/scripts/start-parallel-streams.js:42
const frontMatter = yaml.load(frontMatterMatch[1]);
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
HIGHCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
autopm/.claude/scripts/decompose-issue.js:320
return yaml.load(content);
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
HIGHCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
autopm/.claude/scripts/start-parallel-streams.js:42
const frontMatter = yaml.load(frontMatterMatch[1]);
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
autopm/.claude/scripts/pm/epic-edit.js:322
exec(`${editor} "${epicFile}"`, (error) => {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
autopm/.claude/scripts/pm/issue-edit.js:251
exec(`${editor} "${issueFile}"`, (error) => {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
packages/plugin-pm/scripts/pm/epic-edit.js:322
exec(`${editor} "${epicFile}"`, (error) => {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
packages/plugin-pm/scripts/pm/issue-edit.js:251
exec(`${editor} "${issueFile}"`, (error) => {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
.claude/lib/commands/ssh/security.js:145
{ path: 'id_rsa', expected: CONFIG.permissions.privateKey, type: 'private key' },
Why it matters. touches a credential store
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
.claude/lib/commands/ssh/security.js:146
{ path: 'id_ed25519', expected: CONFIG.permissions.privateKey, type: 'private key' },
Why it matters. touches a credential store
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
.claude/lib/commands/ssh/security.js:147
{ path: 'id_ecdsa', expected: CONFIG.permissions.privateKey, type: 'private key' },
Why it matters. touches a credential store
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
.claude/lib/commands/ssh/security.js:149
{ path: 'id_rsa.pub', expected: CONFIG.permissions.publicKey, type: 'public key' },
Why it matters. touches a credential store
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
.claude/lib/commands/ssh/security.js:150
{ path: 'authorized_keys', expected: CONFIG.permissions.authorizedKeys, type: 'authorized keys' },
Why it matters. touches a credential store
HIGHHard-coded secrets · secret.db_uri · CWE-798, CWE-321
packages/plugin-testing/commands/test:test-performance.md:148
DATABASE_URL: postgresql://postgres:postgres@postgres:5432/test
HIGHHard-coded secrets · secret.db_uri · CWE-798, CWE-321
packages/plugin-testing/commands/test:test-performance.md:775
DATABASE_URL: postgresql://postgres:postgres@postgres:5432/test
HIGHPrompt injection · prompt.tool_poisoning · CWE-94, CWE-1427
autopm/.claude/commands/pm:epic-sync-original.md:223
IMPORTANT: Always include --label parameter with "task,epic:$ARGUMENTS"
Why it matters. a tool description carrying instructions to the agent
Fix. tool descriptions describe the tool; nothing else
HIGHPrompt injection · prompt.tool_poisoning · CWE-94, CWE-1427
packages/plugin-pm-github/commands/pm:epic-sync-original.md:223
IMPORTANT: Always include --label parameter with "task,epic:$ARGUMENTS"
Why it matters. a tool description carrying instructions to the agent
Fix. tool descriptions describe the tool; nothing else
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
autopm/.claude/scripts/pm/dashboard-serve.js:1502
console.log(`Token: stored in state file (do not share)`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
autopm/.claude/scripts/pm/dashboard-serve.js:1515
console.log(`Open ${baseUrl}/?token=<token> — token is in the state file: ${pidFile}`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
autopm/.claude/scripts/pm/dashboard-serve.js:1522
console.log(`Could not open browser. The access URL (with token) is saved in: ${pidFile}`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
bin/commands/config.js:87
console.log(`│ Token:           ${this.padRight(hasToken, 22)} │`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
bin/commands/config.js:94
console.log(`│ Token:           ${this.padRight(hasToken, 22)} │`);

Gates applied: critical_finding, no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha 48b4be9853eefull audit observations/trust-audit/mcp-server/rafeekpro__claudeautopm.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-1248b4be9853eeBLOCKF30first audit
06

Questions

What is the claude-autopm MCP server?

Autonomous Project Management Framework for Claude Code - Advanced AI-powered development automation

What tools does claude-autopm expose?

27 in total: 22 read-only, 5 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is claude-autopm safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (30/100) and found 20 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does claude-autopm need?

It reads ANTHROPIC_API_KEY, AUTOPM_MASTER_PASSWORD, AZURE_DEVOPS_TOKEN, CONTEXT7_API_KEY, CUSTOM_KEY, GITHUB_TOKEN, OPENAI_API_KEY and TEST_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does claude-autopm run?

It speaks stdio, so it runs as a local process your client starts. It is published on npm as @claudeautopm/plugin-testing at 4.0.0.

How current is this page?

The grade is for one exact copy of the source (48b4be9853ee), read on 2026-10-12. The repository is watched and re-audited when it changes.

Advertisement