Skip to main content
Glama

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": "Design authentication flow", "Task Description": "Create detailed flow diagrams...", "Assignee": "UX Designer", "Estimated Time": "3 days", "Dependencies": "N/A" } ]

Creativity Levels

Level

Description

conservative

Stick closely to what is explicitly mentioned in the content

balanced

Include tasks that are mentioned or strongly implied (default)

expansive

Infer additional tasks for testing, documentation, deployment, etc.

Development

# Run in development mode npm run dev # Build npm run build # Start production server npm start

License

MIT

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

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/smcdonnell7/content-plan-builder'

If you have feedback or need assistance with the MCP directory API, please join our Discord server