Skip to main content
Glama

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_tasks with 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

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/89jobrien/mcp-joecc'

If you have feedback or need assistance with the MCP directory API, please join our Discord server