Skip to main content
Model Context Protocol (MCP) servers enable Claude Code to directly interact with Linear and Notion for automated project management and documentation.

What is MCP?

MCP (Model Context Protocol) allows Claude Code to connect to external services like Linear and Notion, enabling it to:
  • Create and update Linear tasks automatically
  • Sync project progress to Notion
  • Link GitHub commits/PRs to Linear issues
  • Generate milestone documentation

Linear MCP Setup

Linear Linear is our primary project tracking tool for day-to-day task management. Workspace: https://linear.app/workally/projects/all
  • Installation
  • Usage
  • Automation

Step 1: Get Linear API Key

1

Access Linear Settings

  1. Go to https://linear.app/workally/settings/api
  2. Sign in with your WorkAlly account
2

Create API Key

  1. Click “Create new personal API key”
  2. Name: Claude Code MCP
  3. Description: For automated task tracking via Claude Code
  4. Click “Create key”
3

Copy API Key

Copy the key immediately - it starts with lin_api_You won’t be able to see it again after closing the dialog.

Step 2: Configure Claude Code

Add Linear MCP to your Claude Code configuration file.Config location: ~/.claude/config.toml
[mcp_servers.linear]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-linear"]
env = { LINEAR_API_KEY = "lin_api_YOUR_KEY_HERE" }
Replace lin_api_YOUR_KEY_HERE with your actual API key.

Step 3: Restart Claude Code

# Reload MCP servers
claude --reload-mcp

Step 4: Verify Connection

Test the connection by asking Claude Code:
"Check if Linear MCP is connected and list my Linear teams"
Expected response: Claude lists your Linear teams and workspaces.

Notion MCP Setup

Notion Notion is used for major milestone documentation - not daily tracking. Workspace: https://www.notion.so/workally/
  • Installation
  • Usage
  • Templates

Step 1: Create Notion Integration

1

Access Integrations

  1. Go to https://www.notion.so/my-integrations
  2. Sign in with your WorkAlly Notion account
2

Create New Integration

  1. Click ”+ New integration”
  2. Name: Claude Code MCP
  3. Associated workspace: Select “WorkAlly”
  4. Type: Internal integration
  5. Click “Submit”
3

Copy Integration Token

Copy the Internal Integration TokenIt starts with secret_
4

Get Database ID

  1. Open your Notion project database
  2. Copy URL - looks like:
https://notion.so/workally/1234567890abcdef1234567890abcdef
  1. The database ID is: 1234567890abcdef1234567890abcdef
5

Share Database with Integration

  1. Open your Notion project database
  2. Click “Share” button (top right)
  3. Click “Invite”
  4. Search for “Claude Code MCP”
  5. Grant Can edit permission
  6. Click “Invite”

Step 2: Configure Claude Code

Add Notion MCP to ~/.claude/config.toml:
[mcp_servers.notion]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-notion"]
env = { NOTION_API_KEY = "secret_YOUR_TOKEN_HERE" }
Replace secret_YOUR_TOKEN_HERE with your integration token.

Step 3: Restart Claude Code

Same as Linear - reload MCP servers.

Step 4: Verify Connection

"Check Notion MCP connection and list my Notion databases"

Complete Workflow Integration

Step-by-Step: New Project Setup

1

Create Project Brief

mkdir brief
cd brief
# Create claude.md and plan.md
2

Initialize Linear Project

"Read brief/plan.md and create a Linear project with all phases and tasks"
3

Start Development

Begin working on Phase 0 tasks from Linear
4

Daily Updates

"Update Linear with today's completed tasks"
5

Complete Phase

"Phase 0 complete! Update Linear milestone and create Notion documentation"
6

Continue Cycle

Repeat for each phase, updating Linear daily and Notion per major milestone
FrequencyActionTool
Per TaskMark task completeLinear
DailySync progress, update estimatesLinear
Per PRLink PR to issueLinear + GitHub
Per PhaseDocument completionLinear + Notion
Per MilestoneCreate comprehensive docNotion

Troubleshooting

Check config:
cat ~/.claude/config.toml | grep -A 3 linear
Verify API key is valid:
curl -H "Authorization: Bearer lin_api_YOUR_KEY" \
     -H "Content-Type: application/json" \
     https://api.linear.app/graphql \
     -d '{"query": "{ viewer { name } }"}'
Reinstall MCP server:
npx @modelcontextprotocol/server-linear --version
Verify database sharing:
  1. Open Notion database
  2. Check “Claude Code MCP” integration has access
  3. Ensure permission is “Can edit”
Test API token:
curl -H "Authorization: Bearer secret_YOUR_TOKEN" \
     -H "Notion-Version: 2022-06-28" \
     https://api.notion.com/v1/users/me
Reload MCP servers:
"Reload all MCP servers and verify connections"
Check Claude Code logs:
cat ~/.claude/logs/mcp.log
Restart Claude Code completely:
# Kill all Claude processes
pkill -f claude

# Restart
claude

Best Practices

Linear Best Practices

DO:
  • Update Linear after each task
  • Use consistent issue naming
  • Link all PRs to issues
  • Use labels and milestones
  • Add time estimates
DON’T:
  • Create duplicate issues
  • Skip linking commits
  • Forget to close completed issues
  • Leave issues without assignees

Notion Best Practices

DO:
  • Document major milestones only
  • Include screenshots and demos
  • Add deployment links
  • Track key metrics
  • Link to Linear issues
DON’T:
  • Document every small task
  • Create pages for bugs
  • Duplicate Linear info
  • Skip technical details

Next Step

With MCP configured, start your first project with the discovery phase →