What is MCP?
The sudocode MCP (Model Context Protocol) server enables AI assistants like Claude to directly interact with your sudocode project - finding work, creating issues, managing specs, and providing feedback.MCP is an open protocol that standardizes how AI assistants connect to external tools. The sudocode MCP server exposes 10 tools that agents can use to manage specs, issues, and relationships.
- Direct tool access: AI can call sudocode commands without parsing text
- Structured data: Tools return JSON that AI can easily process
- Workflow automation: Agents can autonomously manage entire development workflows
- Context awareness: AI has full visibility into project state
Why Use MCP with sudocode?
Autonomous Development
AI agents can self-direct
- Find and claim work independently
- Create implementation plans
- Provide feedback on specs
- Manage task dependencies
Better Context
AI understands your project
- Query issues and specs
- Understand relationships
- See what’s blocked
- Track project status
Workflow Integration
Seamless development flow
- Check ready work:
ready() - Claim issues:
upsert_issue() - Read specs:
show_spec() - Link work:
link()
Feedback Loop
Bidirectional learning
- AI provides feedback on specs
- Anchored comments at specific lines
- Request clarifications
- Suggest improvements
Quick Setup
Prerequisites
1
Install Node.js
Ensure Node.js 18+ is installed:
2
Install sudocode CLI
The MCP server requires the sudocode CLI:
3
Initialize project
Have a sudocode project initialized:
Install MCP Server
Install the sudocode MCP server globally:Expected output
Expected output
Configure Claude Code
Add the sudocode MCP server to Claude Code’s configuration:1
Open Claude Code settings
In Claude Code, open settings (Cmd/Ctrl+,) and navigate to MCP Servers
2
Add server configuration
Add the following configuration:Replace
/absolute/path/to/your/project with your actual project path.3
Restart Claude Code
Restart Claude Code to load the MCP server
Verify Setup
Test that MCP tools are available:Ask Claude in Claude Code
Ask Claude in Claude Code
mcp__plugin_sudocode_sudocode__*, the setup is working!
MCP Tools Reference
The sudocode MCP server provides 10 tools for managing your project. Tools are organized by functionality and include complete parameter details.Issue Management Tools
1. ready - Find unblocked work Find issues with no blockers that are ready to start.- Parameters: None
- Returns:
{ issues: Issue[] }- Array of ready issues - CLI equivalent:
sudocode ready
- Parameters:
status(string, optional): Filter by status - “open”, “in_progress”, “blocked”, “closed”priority(number, optional): Filter by priority (0-4, 0=highest)archived(boolean, optional): Include archived issues (default: false)limit(number, optional): Max results (default: 50)search(string, optional): Search in title or description
- Returns: Array of issue objects
- CLI equivalent:
sudocode issue list [options]
- Parameters:
issue_id(string, required): Issue ID (e.g., “ISSUE-001”)
- Returns: Full issue object with relationships
- CLI equivalent:
sudocode issue show <issue-id>
issue_id is provided, updates; otherwise creates new.
- Parameters:
issue_id(string, optional): Issue ID to update (omit to create new)title(string, required for create): Issue titledescription(string, optional): Issue description (supports[[ID]]references)status(string, optional): “open”, “in_progress”, “blocked”, “closed”priority(number, optional): Priority 0-4 (0=highest)parent(string, optional): Parent issue IDtags(string[], optional): Array of tagsarchived(boolean, optional): Archive status
- Returns: Created or updated issue object
- CLI equivalent:
sudocode issue create/sudocode issue update
Spec Management Tools
5. list_specs - List specifications Query all specs with optional search filter.- Parameters:
limit(number, optional): Max results (default: 50)search(string, optional): Search in title or description
- Returns: Array of spec objects
- CLI equivalent:
sudocode spec list [options]
- Parameters:
spec_id(string, required): Spec ID (e.g., “SPEC-001”)
- Returns: Full spec object with content and feedback
- CLI equivalent:
sudocode spec show <spec-id>
- Parameters:
spec_id(string, optional): Spec ID to update (omit to create new)title(string, required for create): Spec titledescription(string, optional): Spec description/contentpriority(number, optional): Priority 0-4 (0=highest)parent(string, optional): Parent spec IDtags(string[], optional): Array of tags
- Returns: Created or updated spec object
- CLI equivalent:
sudocode spec create/sudocode spec update
Relationship Tools
8. link - Create relationships Create typed relationships between entities (specs or issues).- Parameters:
from_id(string, required): Source entity IDto_id(string, required): Target entity IDtype(string, optional): Relationship type - “blocks”, “implements”, “references”, “depends-on”, “discovered-from”, “related”
- Returns: Created relationship object
- CLI equivalent:
sudocode link <from> <to> <type>
- blocks: Hard blocker (to_id must complete before from_id can proceed)
- implements: Issue implements a spec
- references: Soft reference between entities
- depends-on: General dependency
- discovered-from: New work discovered during implementation
- related: General association
[[ID]] references into markdown content.
- Parameters:
entity_id(string, required): Entity to add reference toreference_id(string, required): ID to reference (e.g., “ISSUE-001”, “SPEC-002”)display_text(string, optional): Custom display textrelationship_type(string, optional): Also create typed relationshipline(number, optional): Line number to insert at (use line OR text, not both)text(string, optional): Text to search for insertion point (use line OR text, not both)format(string, optional): “inline” (default) or “newline”
- Returns: Success confirmation
- CLI equivalent:
sudocode add-ref <entity> <reference> [options]
Feedback Tools
10. add_feedback - Provide anchored feedback Add feedback to a spec, anchored at a specific line or text location.- Parameters:
issue_id(string, required): Issue providing the feedbackspec_id(string, required): Spec receiving the feedbackcontent(string, required): Feedback contenttype(string, optional): “comment”, “suggestion”, or “request”line(number, optional): Line number to anchor at (use line OR text, not both)text(string, optional): Text to anchor at (use line OR text, not both)
- Returns: Created feedback object
- CLI equivalent:
sudocode feedback add <issue> <spec> [options]
- comment: Informational feedback, no action required
- suggestion: Propose improvements or changes
- request: Request clarification or missing information
Typical Agent Workflow
Here’s how an AI agent typically uses these tools:1
Find available work
2
Claim a task
3
Review spec
4
Provide feedback
5
Create implementation plan
6
Link work to spec
Example Interactions
Finding and Claiming Work
Providing Feedback on Specs
Configuration Options
Environment Variables
Working directory for sudocode operationsDefault: Current working directoryExample:
/Users/alice/projects/my-appPath to sudocode CLI executableDefault:
sudocode (from PATH)Example: /usr/local/bin/sudocodePath to sudocode database fileDefault: Auto-discover from working directoryExample:
/Users/alice/projects/my-app/.sudocode/sudocode.dbCommand-Line Options
Advanced Configuration
Troubleshooting
Tools not showing up in Claude Code
Tools not showing up in Claude Code
Cause: MCP server not configured or not startedSolution:
- Check Claude Code MCP settings
- Ensure
commandpoints tosudocode-mcp - Verify
SUDOCODE_WORKING_DIRis an absolute path - Restart Claude Code
Error: sudocode command not found
Error: sudocode command not found
Cause: sudocode CLI not in PATH or wrong path specifiedSolution:
- Install sudocode CLI:
npm install -g @sudocode/cli - Or specify path in config:
Error: Database not found
Error: Database not found
Cause: Working directory not set or project not initializedSolution:
- Ensure project has
.sudocode/directory - Initialize if needed:
sudocode init - Set working directory in config:
Tools return stale data
Tools return stale data
Cause: Database not synced after git pullSolution:
- Restart MCP server (restart Claude Code)
- Server runs
sudocode importon startup - Or manually sync:
sudocode sync
Permission errors
Permission errors
Cause: MCP server can’t access filesSolution:
- Check directory permissions
- Ensure working directory is readable/writable
- Verify user running Claude Code has access
Resources
MCP Resources
The sudocode MCP server exposes resources that provide context to AI: sudocode://quickstart - Quickstart guide embedded in MCP- Core concepts (specs, issues, feedback)
- Typical workflow examples
- Relationship types explained
Related Documentation
Agent Workflows
Practical workflow examples for AI agents
CLI Documentation
Command-line interface reference
Concepts
Core concepts and architecture
Next Steps
1
Install and configure
Follow the quick setup guide
2
Test in Claude Code
Ask Claude to list your issues:
3
Review the tools
Study the MCP tools reference above
4
Build workflows
Explore agent workflow examples to see practical patterns
Agent Workflow Examples
See 6 practical workflow examples showing how AI agents use MCP tools

