Skip to content

Commit d309b8d

Browse files
committed
docs: improve tool descriptions for better agent adoption
- Rewrite all 15 tool descriptions with what/why/when structure - Add concrete examples in add_note and add_reference descriptions - Emphasize cross-session persistence and knowledge preservation - Update README.md with current schema and tool list - Bump version to 0.1.2
1 parent c1b2b2a commit d309b8d

3 files changed

Lines changed: 82 additions & 62 deletions

File tree

README.md

Lines changed: 41 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,23 @@ CCONTEXT_ROOT=/path/to/project python -m ccontext_mcp
5555

5656
## Tools
5757

58-
| Tool | Purpose |
59-
|------|---------|
60-
| `get_context()` | Get full execution status. **Start here** at session begin. |
61-
| `update_context()` | Update goal, why, or your agent status |
62-
| `create_task()` | Create a new task with steps |
63-
| `update_task()` | Update task/step status |
64-
| `delete_task()` | Remove a task |
65-
| `list_tasks()` | List tasks with optional status filter |
66-
| `add_entry()` | Add a note or reference |
67-
| `update_entry()` | Update entry content or score |
68-
| `remove_entry()` | Remove an entry when no longer relevant |
58+
| Category | Tool | Purpose |
59+
|----------|------|---------|
60+
| **Context** | `get_context()` | Your project memory - **call this FIRST** |
61+
| **Milestones** | `create_milestone()` | Start a new project phase |
62+
| | `update_milestone()` | Modify milestone details or status |
63+
| | `complete_milestone()` | Close milestone with outcomes |
64+
| | `remove_milestone()` | Delete cancelled milestone |
65+
| **Tasks** | `list_tasks()` | Find tasks by status or assignee |
66+
| | `create_task()` | Create task with trackable steps |
67+
| | `update_task()` | Update progress, mark steps done |
68+
| | `delete_task()` | Remove cancelled task |
69+
| **Notes** | `add_note()` | Preserve lessons, warnings, decisions |
70+
| | `update_note()` | Refresh score or update content |
71+
| | `remove_note()` | Delete obsolete note |
72+
| **References** | `add_reference()` | Bookmark files or URLs |
73+
| | `update_reference()` | Refresh score or update details |
74+
| | `remove_reference()` | Delete obsolete reference |
6975

7076
## Score-Based Lifecycle
7177

@@ -79,10 +85,10 @@ Every note and reference has a **score** (default: 10, range: 1-100).
7985

8086
```python
8187
# Important lesson - will persist ~50 get_context() calls
82-
add_entry(type="note", content="Never use force push on main", score=50)
88+
add_note(content="Never use force push on main", score=50)
8389

8490
# Temporary reference - will fade after ~10 calls
85-
add_entry(type="reference", content="API docs", uri="https://...", score=10)
91+
add_reference(url="https://api.example.com/docs", note="API docs", score=10)
8692
```
8793

8894
## Directory Structure
@@ -100,23 +106,30 @@ your-project/
100106
## context.yaml Schema
101107

102108
```yaml
103-
version: "1"
104-
goal: "Current execution goal - what are we trying to achieve?"
105-
why: "Decision background - why this approach?"
106-
agents:
107-
AgentA: "Last known status of AgentA"
108-
AgentB: "Last known status of AgentB"
109+
milestones:
110+
- id: M1
111+
name: "Phase 1: Core Implementation"
112+
description: "Build foundation components"
113+
status: done # done | active | pending
114+
started: "2024-12-01"
115+
completed: "2024-12-07"
116+
outcomes: "15 tools implemented, 42 tests passing"
117+
- id: M2
118+
name: "Phase 2: Integration"
119+
description: "Integrate with orchestrators"
120+
status: active
121+
started: "2024-12-08"
122+
109123
notes:
110124
- id: N001
111-
content: "Important lesson learned"
125+
content: "API rate limit is 100/min - batch requests"
112126
score: 45
113-
created: "2024-01-15T10:30:00Z"
127+
114128
references:
115129
- id: R001
116-
content: "Useful documentation"
117-
uri: "https://docs.example.com"
118-
score: 8
119-
expiring: true # Shows when score <= 0
130+
url: "src/core/auth.py"
131+
note: "OAuth implementation"
132+
score: 30
120133
```
121134
122135
## Task Schema
@@ -144,15 +157,15 @@ One agent maintains its own context, picking up where it left off each session.
144157
145158
### Multi-Agent Collaboration
146159
Multiple agents share the same `context/` directory:
147-
- Each updates their status in `agents` field
148-
- Shared notes and references
160+
- Shared milestones show project progress
161+
- Shared notes preserve collective knowledge
149162
- Coordinated task management
150163

151164
### Integration with Orchestrators
152165
Works well with agent orchestrators (like CCCC) that can:
153166
- Detect `context/` directory existence
154167
- Generate appropriate prompts based on context
155-
- Process progress markers as fallback
168+
- Guide agents to use ccontext tools
156169

157170
## Without MCP
158171

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "ccontext-mcp"
7-
version = "0.1.1"
7+
version = "0.1.2"
88
description = "MCP server for AI agents to manage project execution context"
99
readme = "README.md"
1010
license = "MIT"

src/ccontext_mcp/tools.py

Lines changed: 40 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -25,72 +25,79 @@
2525
# =============================================================================
2626

2727
TOOL_DESCRIPTIONS = {
28-
# Context
28+
# Context - THE entry point
2929
"get_context": (
30-
"**Start here!** Get the project's execution context before doing any work. "
31-
"Returns milestones (project phases), active tasks, important notes, and references. "
32-
"Call this first to understand the full picture."
30+
"Your project's execution memory - call this FIRST before starting any work. "
31+
"Shows: where the project is (milestones), current work (active task), "
32+
"accumulated wisdom (notes), and key locations (references). "
33+
"Essential to avoid duplicating work or missing critical information."
3334
),
3435

35-
# Milestone tools
36+
# Milestone tools - project timeline
3637
"create_milestone": (
37-
"Create a new project milestone/phase. Use when starting a new major phase of work. "
38-
"Include a clear name and detailed description of what this phase will accomplish."
38+
"Start a new project phase that persists across sessions. "
39+
"Use when beginning major work (e.g., 'Phase 1: Core Implementation'). "
40+
"Milestones create a timeline showing project evolution."
3941
),
4042
"update_milestone": (
41-
"Update an existing milestone's name, description, or status. "
42-
"Use to track progress or refine the scope of a phase."
43+
"Modify a milestone's details or advance its status (pending→active→done). "
44+
"Use when scope changes or when starting work on a pending phase."
4345
),
4446
"complete_milestone": (
45-
"Mark a milestone as done and record its outcomes. "
46-
"Use when a phase is finished to document what was accomplished."
47+
"Close a milestone and record what was accomplished. "
48+
"Outcomes become permanent project history visible to future sessions."
4749
),
4850
"remove_milestone": (
49-
"Remove a milestone that's no longer needed. "
50-
"Use for cancelled phases or mistakes."
51+
"Delete a cancelled or mistaken milestone. "
52+
"Completed milestones should be kept as project history."
5153
),
5254

53-
# Task tools
55+
# Task tools - work tracking
5456
"list_tasks": (
55-
"Query tasks by status (planned/active/done) or assignee. "
56-
"Use to find what needs to be done or check progress."
57+
"Find tasks by status (planned/active/done) or assignee. "
58+
"Use to see what work exists and check progress across sessions."
5759
),
5860
"create_task": (
59-
"Create a new task when starting work that involves multiple steps. "
60-
"Tasks help track progress on specific deliverables."
61+
"Break down work into trackable steps that persist across sessions. "
62+
"Use when starting work that spans multiple actions or needs progress tracking."
6163
),
6264
"update_task": (
63-
"Update task status, name, goal, or mark steps as done. "
64-
"Keep tasks current so progress is visible."
65+
"Update task progress - change status, mark steps done, or modify details. "
66+
"Keeps execution state accurate for session handoffs and work resumption."
6567
),
6668
"delete_task": (
67-
"Remove a task that's no longer needed (cancelled or created by mistake)."
69+
"Remove a cancelled or mistaken task. "
70+
"Completed tasks auto-archive after 7 days - no need to delete them."
6871
),
6972

70-
# Note tools
73+
# Note tools - knowledge preservation
7174
"add_note": (
72-
"Record important discoveries, lessons learned, or warnings. "
73-
"High-score notes (50-100) persist longer. Use for knowledge that future work needs."
75+
"Preserve important knowledge for future sessions - lessons, warnings, decisions. "
76+
"High scores (50-100) persist longer; low scores decay and auto-archive. "
77+
"Example: 'API rate limit is 100/min - batch requests to avoid throttling'"
7478
),
7579
"update_note": (
76-
"Update a note's content or renew its score to keep it visible longer. "
77-
"Use when information is still relevant but score is low."
80+
"Refresh a note's score to prevent decay, or update its content. "
81+
"Use when a note is still valuable but its score is getting low."
7882
),
7983
"remove_note": (
80-
"Delete a note that's no longer relevant."
84+
"Delete an obsolete note immediately. "
85+
"Prefer letting low-value notes decay naturally via score system."
8186
),
8287

83-
# Reference tools
88+
# Reference tools - navigation bookmarks
8489
"add_reference": (
85-
"Record a useful file location or URL with a description. "
86-
"High-score references persist longer. Use for important code locations or docs."
90+
"Bookmark important file paths or URLs for quick navigation. "
91+
"High scores persist longer. Use for: key source files, API docs, configs. "
92+
"Example: 'src/core/auth.py - OAuth implementation'"
8793
),
8894
"update_reference": (
89-
"Update a reference or renew its score. "
90-
"Use to keep important references visible."
95+
"Refresh a reference's score to prevent decay, or update its details. "
96+
"Use when a reference is still valuable but its score is getting low."
9197
),
9298
"remove_reference": (
93-
"Delete a reference that's no longer relevant."
99+
"Delete an obsolete reference immediately. "
100+
"Prefer letting outdated references decay naturally via score system."
94101
),
95102
}
96103

0 commit comments

Comments
 (0)