MCP Task Aggregator
Aggregates tasks from multiple sources (Jira, Markdown TODO files, STM CLI) into a unified SQLite database with full-text search, tagging, and incremental sync capabilities.
README
MCP Task Aggregator
An MCP (Model Context Protocol) server that aggregates tasks from multiple sources into a unified SQLite database.
Features
- Multi-source sync: Jira, GitHub (planned), Linear (planned), Markdown files, STM CLI
- Unified database: SQLite with full-text search and tagging
- MCP tools:
list_tasks,list_todos,sync_taskswith filtering and pagination - Incremental sync: Change detection via hash comparison
Supported Sources
| Source | Status | Description |
|---|---|---|
| Jira | Ready | Sync issues from Jira projects |
| Markdown | Ready | Parse TO-DO.md and TODO.md files |
| STM | Ready | Sync from simple-task-master CLI |
| GitHub | Planned | Sync issues and PRs |
| Linear | Planned | Sync Linear issues |
Installation
From Source
# Clone the repository
git clone https://github.com/89jobrien/mcp-joecc.git
cd mcp-joecc
# Install with uv
uv sync
# Run the MCP server
uv run mcp-task-aggregator
Docker
# Build the image
docker build -t mcp-task-aggregator:latest .
# Run with docker-compose
cp example.env .env
# Edit .env with your credentials
docker compose up -d
# Or run directly
docker run -d \
--name mcp-task-aggregator \
-v mcp-data:/data \
-e DATABASE_PATH=/data/tasks.db \
mcp-task-aggregator:latest
Configuration
Configuration is done via environment variables. Copy example.env to .env and edit:
| Variable | Default | Description |
|---|---|---|
DATABASE_PATH |
~/.mcp-task-aggregator/tasks.db |
SQLite database path |
LOG_LEVEL |
INFO |
Logging level |
JIRA_URL |
- | Jira instance URL |
JIRA_EMAIL |
- | Jira account email |
JIRA_API_TOKEN |
- | Jira API token |
JIRA_PROJECT_KEY |
AGENTOPS |
Default project key |
MARKDOWN_ENABLED |
true |
Enable markdown sync |
MARKDOWN_SEARCH_PATHS |
. |
Paths to search for TODO files |
STM_ENABLED |
true |
Enable STM CLI sync |
STM_SEARCH_PATHS |
. |
Paths to search for STM workspaces |
MCP Tools
list_tasks
List all tasks with optional filtering.
{
"source_system": "jira",
"status": "todo",
"priority": 3,
"tags": ["backend"],
"limit": 50,
"offset": 0
}
list_todos
List only local tasks (shortcut for list_tasks with source_system="local").
sync_tasks
Sync tasks from external sources.
{
"source": "jira",
"full_refresh": false
}
Development
# Install dev dependencies
uv sync --all-groups
# Run tests
uv run pytest
# Run linting
uvx ruff check .
uvx ruff format --check .
# Run type checking
uvx mypy src/ --strict --ignore-missing-imports
Project Structure
src/mcp_task_aggregator/
├── adapters/ # Source adapters (Jira, Markdown, STM)
├── agents/ # Sync orchestration
├── models/ # Pydantic models
├── storage/ # SQLite database and repositories
├── tools/ # MCP tool implementations
├── config.py # Configuration management
└── logging.py # Structured logging setup
License
MIT
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.
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.
Neon Database
MCP server for interacting with Neon Management API and databases