MCP server/ai-tools

Content Plan Builder MCP Server

Generate structured Asana project plans from diverse sources like text and PDFs

smcdonnell7/content-plan-builder ↗by smcdonnell7updated
Manual setup required. The maintainer's config contains paths only you know - edit the placeholders below before adding it to Claude Code.
1

Prepare the server locally

Run this once before adding it to Claude Code.

git clone https://github.com/smcdonnell7/content-plan-builder.git
cd content-plan-builder
npm install
npm run build
2

Register it in Claude Code

claude mcp add -e "ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}" content-plan-builder -- node /path/to/content-plan-builder/dist/index.js

Replace any placeholder paths in the command with the real path on your machine.

Required:ANTHROPIC_API_KEY
3

Make your agent remember this setup

content-plan-builder's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.

npx conare@latest

Free · one command · indexes the sessions already on disk. Set up in the browser instead →

What it does

  • Multi-format input support including PDF, DOCX, TXT, MD, HTML, CSV, and JSON
  • AI-powered generation of tasks, subtasks, time estimates, and SMART goals
  • Direct integration to create projects in Asana
  • Flexible output formats including detailed structured plans or compact arrays

Tools 1

plan_from_contentCreate, preview, or sync project plans from various content sources into Asana.

Environment Variables

ANTHROPIC_API_KEYrequiredAnthropic API key for Claude

Try it

Generate a project plan for a new customer portal based on these requirements: [paste text].
Create a project plan from the meeting transcript in /path/to/transcript.txt and save it to Asana.
Preview a project plan for the digital transformation initiative using the scope document at /path/to/scope.docx.
Generate an expansive project plan for the upcoming marketing campaign using the provided notes.
Original README from smcdonnell7/content-plan-builder

Content Plan Builder

An MCP (Model Context Protocol) server that generates comprehensive Asana project plans from arbitrary content — text, PDFs, DOCX files, meeting transcripts, or any combination.

Features

  • Multi-format Input: Accepts text, PDF, DOCX, TXT, MD, HTML, CSV, and JSON files
  • AI-Powered Generation: Uses Claude to create detailed project plans with:
    • 5 top-level tasks with 5-10 subtasks each
    • Realistic time estimates
    • Role-based assignments
    • Task dependencies
    • SMART goals
    • Key data points and metrics
  • Asana Integration: Optionally create projects directly in Asana
  • Flexible Output: Detailed structured format or compact array format

Installation

# Clone the repository
git clone https://github.com/yourusername/content-plan-builder.git
cd content-plan-builder

# Install dependencies
npm install

# Build
npm run build

Configuration

Environment Variables

Variable Required Description
ANTHROPIC_API_KEY Yes Anthropic API key for Claude

MCP Registration

Add to your ~/.mcp.json:

{
  "mcpServers": {
    "content-plan-builder": {
      "command": "node",
      "args": ["/path/to/content-plan-builder/dist/index.js"],
      "env": {
        "ANTHROPIC_API_KEY": "your-api-key"
      }
    }
  }
}

For Claude Desktop, add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "content-plan-builder": {
      "command": "node",
      "args": ["/path/to/content-plan-builder/dist/index.js"],
      "env": {
        "ANTHROPIC_API_KEY": "your-api-key"
      }
    }
  }
}

Usage

Tool: `plan_from_content`

Operations
Operation Description
generate Create a project plan from inputs
preview Preview plan without saving
create Generate plan and create in Asana
Parameters
Parameter Type Description
operation string generate, preview, or create
inputs array Array of input objects
knowledgeBaseContext string Additional context to include
projectName string Name for the generated project
creativity string conservative, balanced, or expansive
outputFormat string detailed, compact, or both
asanaAccessToken string Asana PAT (for create operation)
asanaTeamGid string Team GID for new project
targetProjectGid string Add to existing project
Input Types
Type Description
text Raw text content
file File path to PDF, DOCX, TXT, MD, HTML, CSV, or JSON
transcript Meeting transcript text
meeting_notes Meeting notes text

Examples

Generate plan from text
{
  "operation": "generate",
  "inputs": [
    {
      "type": "text",
      "content": "We need to build a new customer portal with user authentication, a dashboard showing order history, and the ability to track shipments..."
    }
  ],
  "projectName": "Customer Portal Development"
}
Generate from file
{
  "operation": "generate",
  "inputs": [
    {
      "type": "file",
      "content": "/path/to/requirements.pdf"
    }
  ],
  "creativity": "expansive"
}
Combine multiple inputs
{
  "operation": "generate",
  "inputs": [
    {
      "type": "transcript",
      "content": "Meeting transcript from kickoff call..."
    },
    {
      "type": "file",
      "content": "/path/to/scope-document.docx"
    }
  ],
  "knowledgeBaseContext": "This project is part of the Q2 digital transformation initiative...",
  "projectName": "Digital Transformation - Phase 1"
}
Create in Asana
{
  "operation": "create",
  "inputs": [
    {
      "type": "transcript",
      "content": "Sprint planning meeting transcript..."
    }
  ],
  "projectName": "Sprint 14 Tasks",
  "asanaAccessToken": "your-asana-pat",
  "asanaTeamGid": "1234567890"
}

Output Formats

Detailed Format

Full structured plan with all metadata:

{
  "projectGoal": "Build a customer-facing portal that enables...",
  "topLevelTasks": [
    {
      "name": "User Authentication System",
      "description": "Implement secure authentication...",
      "assignedTo": "Senior Developer",
      "estimate": "2 weeks",
      "blockedBy": "N/A",
      "subtasks": [...]
    }
  ],
  "keyDataPoints": ["500 concurrent users expected", ...],
  "keywordsAndPhrases": ["customer portal", "authentication", ...],
  "questionsAndExercises": ["What is the expected user growth rate?", ...],
  "smartGoals": ["Reduce customer support tickets by 30% within 3 months", ...],
  "additionalMaterials": ["UX design guidelines", ...]
}

Compact Format

Array of all subtasks for easy import:

[
  {
    "index": 1,
    "Parent-task": "User Authentication System",
    "Sub-Task":

Frequently Asked Questions

What are the key features of Content Plan Builder?

Multi-format input support including PDF, DOCX, TXT, MD, HTML, CSV, and JSON. AI-powered generation of tasks, subtasks, time estimates, and SMART goals. Direct integration to create projects in Asana. Flexible output formats including detailed structured plans or compact arrays.

What can I use Content Plan Builder for?

Converting unstructured meeting transcripts into actionable Asana task lists. Automating project scoping from PDF requirement documents. Standardizing project planning workflows across different team initiatives. Quickly generating task dependencies and role assignments from raw project notes.

How do I install Content Plan Builder?

Install Content Plan Builder by running: git clone https://github.com/smcdonnell7/content-plan-builder.git && cd content-plan-builder && npm install && npm run build

What MCP clients work with Content Plan Builder?

Content Plan Builder works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Conare · memory for coding agents

Turn this server into reusable context

Keep Content Plan Builder docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Set up free$npx conare@latest