CommonTrace MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | HTTP bind address | 0.0.0.0 |
| MCP_PORT | No | HTTP port | 8080 |
| API_BASE_URL | No | CommonTrace API URL | http://localhost:8000 |
| READ_TIMEOUT | No | Read SLA timeout (seconds) | 0.2 |
| MCP_TRANSPORT | No | Transport: http or stdio | stdio |
| WRITE_TIMEOUT | No | Write SLA timeout (seconds) | 2.0 |
| COMMONTRACE_API_KEY | Yes | API key for backend auth |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_tracesA | Search CommonTrace for coding traces matching a natural language query and/or tags. Args: query: Natural language description of what you're looking for tags: Filter by tags like language, framework, or task type (AND semantics) limit: Maximum number of results (1-50, default 10) context: Searcher's environment context for relevance boosting (e.g. {"language": "python", "os": "linux"}) include_expired: Include expired traces (de-ranked) or exclude entirely (default True) |
| contribute_traceA | Submit a new trace to the CommonTrace knowledge base. Args: title: Short description of what this trace solves context_text: The problem context (what you were trying to do) solution_text: The solution (what worked) tags: Categorization tags (e.g., python, fastapi, docker) supersedes_trace_id: UUID of an older trace this one replaces (creates SUPERSEDES relationship) review_after: ISO datetime when this trace should be re-validated (e.g., "2026-06-01T00:00:00Z") watch_condition: Human-readable condition that would make this trace stale (e.g., "React 19 release") |
| vote_traceA | Vote on a trace in the CommonTrace knowledge base. Args: trace_id: UUID of the trace to vote on vote_type: "up" or "down" feedback_tag: Required for downvotes. One of: outdated, wrong, security_concern, spam feedback_text: Optional explanation for your vote voter_context: Voter's environment context (e.g. {"language": "python", "os": "linux"}) for cross-context vote weighting |
| get_traceA | Get a specific trace by ID from the CommonTrace knowledge base. Args: trace_id: UUID of the trace to retrieve |
| list_tagsA | List all available tags in the CommonTrace knowledge base. |
| amend_traceB | Submit an amendment to an existing trace with an improved solution. Args: trace_id: UUID of the trace to amend improved_solution: The improved solution text explanation: Why this amendment is better than the original |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: contribute_trace creates new entries, get_trace retrieves specific ones, search_traces finds matches, amend_trace updates existing traces, vote_trace handles feedback, and list_tags manages metadata. There is no functional overlap between these operations, making tool selection unambiguous.
All tools follow a consistent verb_noun pattern with snake_case naming (e.g., contribute_trace, get_trace, search_traces). The verbs are descriptive and appropriate for their actions, creating a predictable and readable naming convention throughout the set.
With 6 tools, this server is well-scoped for managing a trace knowledge base. It covers core operations like creation, retrieval, search, updating, voting, and tag listing without being overly sparse or bloated, ensuring each tool serves a necessary function.
The toolset provides comprehensive coverage for trace lifecycle management, including create (contribute_trace), read (get_trace, search_traces), update (amend_trace), and feedback (vote_trace), with list_tags supporting metadata. A minor gap is the lack of a delete_trace tool for full CRUD, but this may be intentional for knowledge base integrity.