Agile MCP Server
Turn your LLM into an agile project management assistant for user story creation, sprint planning, and progress tracking, all with local storage.
README
Agile MCP Server
Transform Large Language Models into powerful agile project management assistants through the Model Context Protocol (MCP).
Overview
The Agile MCP Server provides a comprehensive set of tools for agile project management, including user story creation, sprint planning, progress tracking, and team coordination. It integrates seamlessly with MCP-compatible clients like Claude Desktop and Cursor to bring agile workflows directly into your development environment.
Why Agile MCP?
- Empower LLMs: Turn your LLM into a proactive agile assistant, capable of managing projects, tracking progress, and guiding development workflows.
- Local & Private: All your project data is stored locally, ensuring privacy and control.
- Seamless Integration: Works with any MCP-compatible client, embedding agile practices directly into your existing development tools.
- Type-Safe & Robust: Built with Pydantic for robust data models and type-safe operations, ensuring reliability and maintainability.
Features
- User Story Management: Create, update, and track user stories with priorities, points, and tags
- Sprint Planning: Organize stories into time-boxed sprints with goals and timelines
- Progress Tracking: Monitor sprint progress, story completion, and team velocity
- MCP Integration: Works with any MCP-compatible client for seamless workflow integration
- Local Storage: All data stored locally in your project directory
- Type-Safe: Full TypeScript support with proper parameter validation
Quick Start
Installation
To get started with the Agile MCP Server, clone the repository and install dependencies:
git clone <repository-url>
cd agile_mcp
uv sync
Running the Server
You can run the server with your project directory:
uv run python -m agile_mcp --project .
uv run python -m agile_mcp --project .
# Or start without project (set later using tools)
uv run python -m agile_mcp
MCP Client Integration
Add to your Claude Desktop configuration:
{
"mcpServers": {
"agile-mcp": {
"command": "uv",
"args": ["run", "python", "-m", "agile_mcp", "--project", "/path/to/your/project"],
"cwd": "/path/to/agile-mcp"
}
}
}
Documentation
- User Guide - Comprehensive guide for getting started and daily workflows
- API Reference - Complete documentation of all MCP tools and parameters
- Examples - Code examples and usage demonstrations
Available Tools
Project Management
set_project- Set the project directoryget_project- Get the current project directory
User Story Management
create_story- Create a new user storyget_story- Retrieve a story by IDupdate_story- Update an existing storylist_stories- List stories with optional filteringdelete_story- Delete a story
Sprint Management
create_sprint- Create a new sprintget_sprint- Retrieve a sprint by IDlist_sprints- List sprints with optional filteringupdate_sprint- Update an existing sprintmanage_sprint_stories- Add/remove stories from sprintsget_sprint_progress- Get detailed sprint progressget_active_sprint- Get the currently active sprint
Project Structure
agile_mcp/
├── src/agile_mcp/ # Main source code
│ ├── models/ # Data models (Story, Sprint, etc.)
│ ├── services/ # Business logic services
│ ├── storage/ # File system storage layer
│ ├── tools/ # MCP tool implementations
│ └── server.py # Main MCP server
├── docs/ # Documentation
│ ├── API_REFERENCE.md # Complete API documentation
│ └── USER_GUIDE.md # User guide and workflows
├── examples/ # Usage examples
├── tests/ # Test suite
└── README.md # This file
Development
Requirements
- Python 3.10+
- uv (for package management)
Setup Development Environment
# Install dependencies including dev tools
uv sync
# For development, you can also install the package in editable mode
# This allows you to run examples and tools without full path specifications
uv pip install -e .
# Run tests (includes coverage reporting by default)
uv run pytest
# Run tests with verbose coverage report
uv run pytest -v
# Run tests without coverage (for faster execution)
uv run pytest --no-cov
# Type checking
uv run mypy src/
# Code formatting
uv run ruff format src/ tests/
uv run ruff check src/ tests/
Running Examples
The example scripts demonstrate best practices for using the Agile MCP Server and can be run after setting up the development environment:
# Option 1: Using uv run (recommended for development)
uv run python examples/basic_usage_demo.py
uv run python examples/sprint_demo.py
# Option 2: After editable installation (alternative)
python examples/basic_usage_demo.py
python examples/sprint_demo.py
The examples demonstrate:
basic_usage_demo.py: Core functionality including story creation, listing, and updatessprint_demo.py: Complete sprint workflow from creation to completion
Both examples use proper JSON parsing patterns that mirror how real MCP clients handle tool responses, making them excellent references for integration work.
Test Coverage
The project maintains a minimum test coverage of 75%. Coverage reports are automatically generated when running tests:
- Terminal Report: Shows missing lines for each file
- HTML Report: Detailed interactive report in
htmlcov/directory - Coverage Threshold: Tests will fail if coverage drops below 75%
View the HTML coverage report by opening htmlcov/index.html in your browser after running tests.
Transport Options
The server supports multiple transport protocols:
# STDIO transport (default) - for direct LLM integration
uv run python -m agile_mcp --project . --transport stdio
# SSE transport - for web-based clients
uv run python -m agile_mcp --project . --transport sse --host 0.0.0.0 --port 8000
Project Directory Management
Start the server without a project directory and set it later using the set_project tool via your LLM client.
Examples
Basic Workflow
# 1. Set up project
set_project(project_path=".")
# 2. Create a user story
create_story(
title="User Authentication",
description="Implement secure login system",
priority="high",
tags="authentication, security"
)
# 3. Create a sprint
create_sprint(
name="Sprint 1 - Foundation",
goal="Establish core functionality",
start_date="2025-01-07",
end_date="2025-01-21"
)
# 4. Add story to sprint
manage_sprint_stories(
sprint_id="SPRINT-123",
action="add",
story_id="STORY-456"
)
# 5. Start the sprint
update_sprint(sprint_id="SPRINT-123", status="active")
See the examples directory for more detailed usage examples.
Architecture
The Agile MCP Server follows a clean architecture pattern:
- Tools Layer: MCP-compatible tool interfaces
- Services Layer: Business logic and workflow management
- Storage Layer: File-based persistence with JSON storage
- Models Layer: Type-safe data models with Pydantic
All data is stored locally in a .agile directory within your project, ensuring full control and privacy of your project data.
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following the coding standards
- Add tests for new functionality
- Ensure all tests pass (
uv run pytest) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built on the Model Context Protocol (MCP) standard
- Inspired by agile development practices and tools
- Uses FastMCP for MCP server implementation
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.