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

Tool Purpose
get_context() Get full execution status. Start here at session begin.
update_context() Update goal, why, or your agent status
create_task() Create a new task with steps
update_task() Update task/step status
delete_task() Remove a task
list_tasks() List tasks with optional status filter
add_entry() Add a note or reference
update_entry() Update entry content or score
remove_entry() Remove an entry when no longer relevant

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_entry(type="note", content="Never use force push on main", score=50)

# Temporary reference - will fade after ~10 calls  
add_entry(type="reference", content="API docs", uri="https://...", 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

version: "1"
goal: "Current execution goal - what are we trying to achieve?"
why: "Decision background - why this approach?"
agents:
  AgentA: "Last known status of AgentA"
  AgentB: "Last known status of AgentB"
notes:
  - id: N001
    content: "Important lesson learned"
    score: 45
    created: "2024-01-15T10:30:00Z"
references:
  - id: R001
    content: "Useful documentation"
    uri: "https://docs.example.com"
    score: 8
    expiring: true  # Shows when score <= 0

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:

  • Each updates their status in agents field
  • Shared notes and references
  • 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
  • Process progress markers as fallback

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.1.tar.gz (17.4 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.1-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ccontext_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 17.4 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.1.tar.gz
Algorithm Hash digest
SHA256 c435b41946e0ea3ed92d5f344f0211361cc9ee3860098398725ecbbd2dc1fd8e
MD5 16ff3cb9eea6dfc4763fbb2dc131fe77
BLAKE2b-256 1b1b1f85a87f9988d20ebb614fa8d8a8302dd59cb706d701530e36720ee9e1d1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ccontext_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 15.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e6111dc6cb6362e079973edb96e527bf301c6835f0067c2fb5fff5304d3e4a56
MD5 83527d9948a5cb99f08acf14bc9927e9
BLAKE2b-256 647b1e4654d11a6e01f5860abda433d46f66d61f4d4859e6c6972972da90d37d

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