Skip to main content

MCP server for AI agents to manage project execution context

Project description

ccontext-mcp

MCP server that helps AI agents maintain project execution context across sessions.

The Problem

AI agents lose context between sessions. They forget:

  • What was the current goal?
  • What tasks were in progress?
  • What lessons were learned?
  • What decisions were made and why?

The Solution

ccontext-mcp provides a simple MCP interface for agents to read and write execution context stored in local YAML files. The context persists across sessions and includes automatic lifecycle management - old information naturally fades away while important items persist.

Installation

Claude Code

# Using uvx (recommended, faster)
claude mcp add ccontext -- uvx ccontext-mcp

# Or using pipx (more universal)
claude mcp add ccontext -- pipx run ccontext-mcp

That's it. The MCP server will auto-detect project root from your current working directory.

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "ccontext": {
      "command": "uvx",
      "args": ["ccontext-mcp"],
      "env": {
        "CCONTEXT_ROOT": "/path/to/your/project"
      }
    }
  }
}

Manual / Other MCP Clients

pip install ccontext-mcp
CCONTEXT_ROOT=/path/to/project python -m ccontext_mcp

Tools

Category Tool Purpose
Context get_context() Your project memory - call this FIRST
Milestones create_milestone() Start a new project phase
update_milestone() Modify milestone details or status
complete_milestone() Close milestone with outcomes
remove_milestone() Delete cancelled milestone
Tasks list_tasks() Find tasks by status or assignee
create_task() Create task with trackable steps
update_task() Update progress, mark steps done
delete_task() Remove cancelled task
Notes add_note() Preserve lessons, warnings, decisions
update_note() Refresh score or update content
remove_note() Delete obsolete note
References add_reference() Bookmark files or URLs
update_reference() Refresh score or update details
remove_reference() Delete obsolete reference

Score-Based Lifecycle

Every note and reference has a score (default: 10, range: 1-100).

  • Each get_context() call decrements all scores by 1
  • Items with score <= 0 show expiring: true warning
  • Items with score <= -5 are auto-archived

Why? Old information naturally fades. Important items should be given high scores (50-100) so they persist longer. This prevents context from growing unbounded.

# Important lesson - will persist ~50 get_context() calls
add_note(content="Never use force push on main", score=50)

# Temporary reference - will fade after ~10 calls  
add_reference(url="https://api.example.com/docs", note="API docs", score=10)

Directory Structure

your-project/
└── context/
    ├── context.yaml      # Goal, why, agents, notes, references
    ├── tasks/
    │   ├── T001.yaml     # Task definitions
    │   └── T002.yaml
    └── archive/          # Auto-archived items

context.yaml Schema

milestones:
  - id: M1
    name: "Phase 1: Core Implementation"
    description: "Build foundation components"
    status: done  # done | active | pending
    started: "2024-12-01"
    completed: "2024-12-07"
    outcomes: "15 tools implemented, 42 tests passing"
  - id: M2
    name: "Phase 2: Integration"
    description: "Integrate with orchestrators"
    status: active
    started: "2024-12-08"

notes:
  - id: N001
    content: "API rate limit is 100/min - batch requests"
    score: 45

references:
  - id: R001
    url: "src/core/auth.py"
    note: "OAuth implementation"
    score: 30

Task Schema

id: T001
name: "Implement feature X"
goal: "User-visible outcome"
status: active  # planned | active | complete
steps:
  - id: S1
    name: "Design API"
    done: "API spec reviewed"
    status: complete
  - id: S2
    name: "Implement"
    done: "Tests passing"
    status: in_progress

Use Cases

Single Agent

One agent maintains its own context, picking up where it left off each session.

Multi-Agent Collaboration

Multiple agents share the same context/ directory:

  • Shared milestones show project progress
  • Shared notes preserve collective knowledge
  • Coordinated task management

Integration with Orchestrators

Works well with agent orchestrators (like CCCC) that can:

  • Detect context/ directory existence
  • Generate appropriate prompts based on context
  • Guide agents to use ccontext tools

Without MCP

If your agent doesn't support MCP, it can directly read/write the YAML files following the schema above. The only difference: no automatic score decay (you'll need to manually clean up old entries).

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ccontext_mcp-0.1.4.tar.gz (74.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ccontext_mcp-0.1.4-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file ccontext_mcp-0.1.4.tar.gz.

File metadata

  • Download URL: ccontext_mcp-0.1.4.tar.gz
  • Upload date:
  • Size: 74.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for ccontext_mcp-0.1.4.tar.gz
Algorithm Hash digest
SHA256 d684b8735b449dc56f91d8d8fb988140e85282ab4e1a99b998ad970dcf4705f4
MD5 ff8e4045c45cd00b065bb9ee8bfce780
BLAKE2b-256 bfd501f5327081b266be4ae83efd1368ed979acdb16a1ffaefb84d901d408606

See more details on using hashes here.

File details

Details for the file ccontext_mcp-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: ccontext_mcp-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for ccontext_mcp-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7ca05ab550ee7d95269cae7dd2eb65051a14459e7e566c67625e15f9b60c3b4b
MD5 5390f76e6ac921781ab4c69646519b78
BLAKE2b-256 a7a4b2df5c3b2d4e32b028ac3178070dffc8699949db6846f2e6a94796210792

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page