Allows for the automated creation of detailed project plans in Asana, including hierarchical tasks, subtasks, role assignments, time estimates, and dependencies generated from arbitrary text or document inputs.
Click on "Install 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., "@Content Plan BuilderCreate an Asana project from this meeting transcript and project-scope.pdf"
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.
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 buildConfiguration
Environment Variables
Variable | Required | Description |
| 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 |
| Create a project plan from inputs |
| Preview plan without saving |
| Generate plan and create in Asana |
Parameters
Parameter | Type | Description |
| string |
|
| array | Array of input objects |
| string | Additional context to include |
| string | Name for the generated project |
| string |
|
| string |
|
| string | Asana PAT (for create operation) |
| string | Team GID for new project |
| string | Add to existing project |
Input Types
Type | Description |
| Raw text content |
| File path to PDF, DOCX, TXT, MD, HTML, CSV, or JSON |
| Meeting transcript text |
| 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 |
| Stick closely to what is explicitly mentioned in the content |
| Include tasks that are mentioned or strongly implied (default) |
| Infer additional tasks for testing, documentation, deployment, etc. |
Development
# Run in development mode
npm run dev
# Build
npm run build
# Start production server
npm startLicense
MIT