deerdawn
Server Details
AI session memory: the brief your AI reads before every session so no session starts cold.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- HissingSpider/deerdawn-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 18 of 18 tools scored. Lowest: 3.3/5.
Each tool targets a distinct purpose: project CRUD, workspace knowledge, session management, task board, and searching. No two tools have overlapping functionality; even 'get_context' and 'search_context' are clearly differentiated by scope.
All tool names follow a consistent verb_noun pattern (e.g., create_project, archive_project, manage_todos, record_hot_paths) with underscores, making the set predictable and easy to navigate.
18 tools is well-scoped for a project management and workspace knowledge system. Each tool covers a necessary operation without unnecessary proliferation, striking a balance between simplicity and capability.
The tool surface covers all major workflows: project lifecycle (create, archive, rename, list, context), workspace knowledge (record, search, upsert), task management, and session handling. Minor gaps include no explicit permanent project deletion or entity deletion, but archive and upsert cover those needs.
Available Tools
24 toolsarchive_projectAIdempotentInspect
Archive a dead or finished project so it stops cluttering list_projects and never auto-resolves as the active project. Preserves all history. Pass unarchive:true to restore it. Refuses to archive an umbrella that still has live subprojects.
| Name | Required | Description | Default |
|---|---|---|---|
| unarchive | No | Set true to restore a previously archived project instead of archiving. | |
| project_id | Yes | The project to archive (or restore). |
Output Schema
| Name | Required | Description |
|---|---|---|
| archived | No | |
| project_id | Yes | |
| project_name | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses preservation of history and refusal to archive parent projects with live subprojects. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two highly informative sentences, front-loaded with primary action, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All necessary behavioral details provided given the tool's simplicity and annotation coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters fully; description adds value by explaining unarchive restoration usage beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool archives dead/finished projects, stops clutter, and distinguishes from siblings like cleanup_context or create_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes when to use (dead/finished), when not to (umbrella with live subprojects), and how to restore. Lacks explicit cross-reference to sibling tools, but context provides enough guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_subagent_briefARead-onlyIdempotentInspect
Build a compact, task-scoped prompt for a worker agent. Call once per delegated subtask, then pass only the returned brief using the host's isolated/no-history mode when available.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Optional worker role. | |
| task | Yes | The concrete, bounded objective delegated to the worker. | |
| max_tokens | No | ||
| project_id | No | Optional project override. Omit to use the active project. | |
| deliverable | No | The exact result the worker should return. | |
| focus_paths | No | ||
| verification | No | ||
| acceptance_criteria | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | Spawn-ready task-scoped worker brief. |
| marker | No | |
| sources | Yes | |
| version | Yes | |
| max_tokens | Yes | |
| project_id | Yes | |
| generated_at | No | |
| project_name | No | |
| omitted_count | No | |
| estimated_tokens | Yes | |
| context_updated_at | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating a safe, side-effect-free operation. The description adds value by explaining the intended usage pattern (passing the result to a host's isolated/no-history mode) and noting the output is a 'compact, task-scoped brief'—useful behavioral context beyond the annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the core purpose, and every word adds value. It is appropriately concise for a tool that primarily needs a clear purpose and usage pointer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description need not explain return values. It covers the essential usage (when to call, how to use the result) and the behavioral trait of being 'compact' and 'task-scoped.' It does not mention error conditions or prerequisites, but for a builder tool with strong annotations and schema, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, with parameters like max_tokens, focus_paths, verification, and acceptance_criteria lacking descriptions. The tool description provides no additional parameter information whatsoever, leaving these fields ambiguous. Since the description fails to compensate for the gaps, the score is below baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Build a compact, task-scoped prompt for a worker agent.' This clearly states what the tool does and differentiates it from sibling tools (none of which build prompts/briefs). The additional guidance about calling once per delegated subtask further clarifies the tool's role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context: 'Call once per delegated subtask, then pass only the returned brief using the host's isolated/no-history mode when available.' This tells the agent when to use the tool and how to apply its output. It does not explicitly mention alternatives or exclusion criteria, but the context is strong enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cleanup_contextAInspect
Clean up task context at handoff/finish time. Marks the finished task as completed, clears open-task command history, and returns unresolved questions that still need answers.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No | Optional project ID. Omit to use the active project. | |
| ask_questions | No | Include open follow-up questions that should be answered. | |
| complete_task | No | Force-complete and close the active task now. |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | The formatted brief, ready to read. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations by specifying what gets modified (task completion, command history) and what is returned (unresolved questions). Annotations are present (readOnlyHint=false, destructiveHint=false) and the description aligns with them, adding useful operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences with no superfluous content. The first sentence conveys the primary purpose, and the second elaborates on actions. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 optional parameters, output schema present), the description adequately covers the main behavior and outputs. It explains the return of unresolved questions and the state changes. Slightly more detail on when to use force-complete could improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all three parameters with descriptions, and the description does not add significant meaning beyond them. It mentions returning unresolved questions, which relates to ask_questions, but otherwise no additional parameter insight. Baseline 3 justified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb 'clean up' and the resource 'task context' at a specific time ('handoff/finish time'). It enumerates specific actions (marks task completed, clears history, returns unresolved questions), distinguishing it from sibling tools like get_context or update_context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'at handoff/finish time' provides clear context for when to use the tool, but it does not explicitly state when not to use it or compare to alternatives. While sufficient, it lacks explicit exclusions or alternative mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectAInspect
Create a new DeerDawn project to track a codebase, feature, or initiative. Pass parent_project_id to create it as a subproject under an umbrella (e.g. a workstream of a larger product) — subprojects keep their own task and board.
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | Brief description of what this project is | |
| project_name | Yes | Name of the project | |
| parent_project_id | No | Optional. Create this as a subproject under the given top-level project. The hierarchy is one level deep. |
Output Schema
| Name | Required | Description |
|---|---|---|
| project_id | Yes | |
| project_name | Yes | |
| parent_project_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-readOnly (modifies state), non-destructive, non-idempotent. Description adds that subprojects keep their own task and board. No contradictions, but could mention side effects like default board creation or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, then optional parameter usage. No redundant words, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists and tool is simple CRUD, description covers key functionality. Could mention required permissions or error cases, but acceptable for typical creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 3 parameters with descriptions. Description adds context for parent_project_id (umbrella, workstream analogy) beyond schema, enriching meaning. Baseline 3, plus value for subproject explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it creates a new DeerDawn project to track a codebase, feature, or initiative. It distinguishes from siblings like archive_project, list_projects, rename_project by focusing on creation and subproject support.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explains when to use (to track something) and how to create subprojects via parent_project_id. Context signals and sibling names provide implicit guidance, but no explicit when-not-to-use or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_known_pathsARead-onlyIdempotentInspect
Search durable path memory (hot paths, surfaces, debugging notes) before doing a repo-wide search. Use a path-oriented query like "auth modal" or "signup route".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of paths to return (default 10). | |
| query | Yes | Path-oriented query. | |
| project_id | No | Optional project ID to scope the search. |
Output Schema
| Name | Required | Description |
|---|---|---|
| paths | Yes | Matching hot paths, surfaces, and debugging notes. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true, so the description's mention of 'Search' aligns. It adds context about what 'durable path memory' contains (hot paths, surfaces, debugging notes), which goes beyond annotations, but does not disclose additional behavioral traits like rate limits or auth needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, immediately stating purpose and usage. Every sentence is essential, with no wasted words. Front-loaded with the key directive to use before repo-wide search.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, the description need not explain return values. It covers purpose, usage timing, and example queries. For a read-only search tool, this is a complete and helpful description, though it could mention how path memory is populated for deeper context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters. The description adds value by providing example query strings ('auth modal', 'signup route'), explaining what 'path-oriented query' means, which enhances the parameter semantics beyond the schema's basic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches 'durable path memory' (hot paths, surfaces, debugging notes) and distinguishes it from repo-wide searches by advising to use it first. This differentiates it from sibling tools like search_context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly recommends using this tool 'before doing a repo-wide search' and provides example queries like 'auth modal' or 'signup route'. While it doesn't mention when not to use it or alternatives, the guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contextARead-onlyIdempotentInspect
Get the current context for a specific project — task, status, decisions, goals, and open questions. If you have not called start_session yet this session, call it first. Call list_projects if you don't have a project_id.
| Name | Required | Description | Default |
|---|---|---|---|
| sections | No | Which sections to include. Omit for task+status. Use board (or todos) for the task board. | |
| verbosity | No | How much detail to return per section. | standard |
| project_id | Yes | Project ID from list_projects |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | The formatted project context. |
| project_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states 'Get the current context' consistent with readOnlyHint=true and idempotentHint=true. It adds behavioral context beyond annotations by requiring start_session and project_id from list_projects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with purpose, no fluff. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich schema and annotations, description covers main purpose, prerequisites, and hints for sections. It does not describe return format (output schema exists) but that is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds minimal extra meaning beyond schema: it reiterates some section names and hints about 'board'. No contradiction or significant new info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'current context for a specific project', listing specific content areas (task, status, decisions, goals, open questions). This distinguishes it from siblings like search_context or get_project_map, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent to call start_session first and to use list_projects if project_id is missing, providing clear prerequisites. However, it does not exclude alternatives like search_context for searching across projects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_next_best_contextARead-onlyIdempotentInspect
Return the most relevant next context to fetch or use for the current task/session, including open questions and pending decisions ranked for relevance and token efficiency.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | Optional active tool surface. | |
| limit | No | Max ranked suggestions to return (default 5). | |
| project_id | No | Optional active project override. |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | Formatted summary + ranked suggestions. |
| suggestions | No | Ranked next-best context suggestions. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds behavioral context by detailing the output includes ranked open questions and pending decisions, and that it considers token efficiency. This goes beyond the annotations, though it could be more explicit about side-effects (none).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the core action ('Return') and packs all key information efficiently. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema, the description appropriately focuses on the overall purpose and contents of the output. The input parameters are well-documented in the schema. It could mention how the tool uses session state, but otherwise it is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. The description does not add meaning beyond the schema; it focuses on the output. Baseline 3 is appropriate since the schema already documents each parameter's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'the most relevant next context' with specific content (open questions, pending decisions) and ranking criteria (relevance, token efficiency). This distinguishes it from siblings like `get_context` or `search_context` which likely return current context or search results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives. It lacks explicit when-to-use or when-not-to-use instructions, and does not mention sibling tools or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_mapARead-onlyIdempotentInspect
Return the durable project map: hot paths, entrypoints, named surfaces, and recent debugging notes. Call this BEFORE searching the codebase — the file may already be known. Omit project_id to use the active project.
| Name | Required | Description | Default |
|---|---|---|---|
| verbosity | No | How much of the project map to return. | standard |
| project_id | No | Project ID. Omit to use the active project. |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | The formatted project map. |
| project_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds value by specifying the content of the map (hot paths, entrypoints, named surfaces, debugging notes) and the advice to call it before searching, which informs non-destructive behavior beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences (26 words), efficient, and front-loaded with the return contents. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool with two optional parameters and an existing output schema, the description covers purpose and usage timing well. It could mention related tools or when not to use it, but it is sufficiently complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description restates the project_id guidance but does not add new parameter-level detail beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'the durable project map' listing specific components: hot paths, entrypoints, named surfaces, and recent debugging notes. This is a specific verb-resource combination that distinguishes it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance to call this tool 'BEFORE searching the codebase' and notes that omitting project_id uses the active project. However, it does not explicitly list when not to use it or alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_skillARead-onlyIdempotentInspect
Fetch one shared skill in full (including markdown body) by slug. Call after list_skills when a skill is relevant to the current task.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Skill slug from list_skills. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| slug | No | |
| text | Yes | The skill markdown body. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and idempotentHint, so the safety profile is clear. The description adds value by specifying that the full skill includes markdown body, but could further describe the response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and followed by usage guidance. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch tool with output schema and one parameter, the description provides all necessary context: what it does, when to use it, and the parameter source.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers slug with 100% description. The description reinforces that the slug comes from list_skills, adding useful context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches one shared skill in full by slug, including markdown body. This distinguishes it from list_skills, which likely returns only summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call after list_skills when a skill is relevant to the current task,' providing clear when-to-use and a direct reference to a sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workspace_entitiesARead-onlyIdempotentInspect
Query typed workspace knowledge — services, capabilities, patterns, environments, and workflows — for architecture-level orientation.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of entities to return (default 10). | |
| query | No | Optional text query. | |
| scope | No | Limit to workspace-wide or project-scoped entities. | |
| types | No | Optional entity types to filter. | |
| status | No | Optional status filter (active, shipped, planned, stale, resolved). | |
| surface | No | Optional surface filter (mcp_tool, api, dashboard, …). | |
| project_id | No | Optional project to rank against. |
Output Schema
| Name | Required | Description |
|---|---|---|
| entities | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the description only adds context about the types of entities and purpose. It does not contradict annotations and adds moderate value by specifying the knowledge domains queried, but lacks additional behavioral details (e.g., sorting, pagination, access requirements).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that fronts the key action and resource, then lists entity types and purpose. No redundant or verbose phrasing; every part serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 optional parameters, no required params, and an output schema, the description provides sufficient context about the tool's domain and purpose. It covers the 'what' and 'why' well. Could optionally mention it returns a list of entities, but the output schema handles that, and the tool name implies entity results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 7 parameters with descriptions (100% coverage). The description adds no extra detail about parameters, staying at a high-level purpose statement. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Query' and the resource 'typed workspace knowledge', with specific entity types (services, capabilities, patterns, environments, workflows) and a clear purpose ('architecture-level orientation'). This distinguishes it from sibling tools like 'get_context' or 'search_context', which are more general.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for architectural queries but does not explicitly state when to use this tool over alternatives like 'get_context' or 'search_context'. No exclusions or when-not-to-use guidance is provided, leaving the agent to infer based on tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workspace_overviewARead-onlyIdempotentInspect
Get a full overview of your workspace — all projects, durable knowledge, and capabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | startup for a compact brief, overview for full details | overview |
| verbosity | No | How much detail to include in the overview. | standard |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | The formatted brief, ready to read. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds that the overview includes projects, durable knowledge, and capabilities, providing context beyond the annotations. It does not contradict annotations. Since annotations carry the safety profile, the description adds moderate value but does not deepen behavioral insight significantly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no filler. The core information is front-loaded: verb, resource, and scope. Every word adds value. Exemplary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has 0 required params, 2 optional enums, output schema exists. Description mentions return contents (projects, knowledge, capabilities). For a read-only overview tool, this is sufficient. Could mention optional params but schema covers that. Slight gap: not specifying the output structure beyond the listed items, but output schema presumably handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with clear descriptions (mode: startup vs overview; verbosity: level of detail). Description adds no additional parameter meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a full workspace overview including projects, durable knowledge, and capabilities. It uses a specific verb ('Get') and resource ('workspace overview'), distinguishing it from siblings that focus on specific aspects like get_context or list_projects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Get a full overview' which implies a general use case, but it does not explicitly state when to use this tool versus alternative sibling tools. No exclusions or guidance on when not to use it. Basic improvement would be to contrast with more focused tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsARead-onlyIdempotentInspect
List all your DeerDawn projects with their current task and project ID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| projects | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds 'current task and project ID' as output context, which is useful but does not provide additional behavioral traits beyond what annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the tool's purpose without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, annotations, and an existing output schema, the description sufficiently explains what the tool does (list projects with task and ID) and is complete for this simple read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so baseline score is 4. The description appropriately does not add parameter info since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists projects and includes specific fields (current task and project ID), effectively distinguishing it from sibling tools like create_project or archive_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing a project overview but does not specify when not to use it or mention alternatives among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_skillsARead-onlyIdempotentInspect
List available shared skills (name + description, no body). Use on web tools (ChatGPT, Claude.ai) that cannot read skill files from disk.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No | Optional project ID to scope skills. Omit for workspace-wide skills. |
Output Schema
| Name | Required | Description |
|---|---|---|
| skills | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating a safe read operation. The description adds that results contain 'name + description' but not the full body, which is useful but not critical beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary purpose, and contains no unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description does not need to detail return values. It covers the tool's purpose, usage context, and one parameter completely. The description is sufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the parameter 'project_id' is already well-documented. The description does not add new semantic information about the parameter beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'available shared skills', and specifies the return content as 'name + description, no body', distinguishing it from the sibling tool 'get_skill' which likely returns full skill content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: 'on web tools (ChatGPT, Claude.ai) that cannot read skill files from disk.' While it doesn't explicitly list alternatives or when not to use, this context provides clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_todosADestructiveInspect
Manage the active project's task board — a scrum-style board where every task is a card that moves across phase columns: Backlog → Blocked → In Progress → Integration → Testing → Done. Actions: add (new cards, default to Backlog or a named phase), move (re-column a card), complete (shorthand for → Done), remove (delete a mistaken card), list (show the board grouped by column). The single task tracker for the project.
| Name | Required | Description | Default |
|---|---|---|---|
| phase | No | For add: the column new cards land in (default backlog). For move: the destination column (required). | |
| todos | No | For add: card titles. For move/complete/remove: card IDs or title substrings to match. | |
| action | Yes | add new cards, move a card to another phase, mark cards complete (→ Done), remove erroneous cards, or list the board. | |
| project_id | No | Optional project ID. Omit to use the active project. |
Output Schema
| Name | Required | Description |
|---|---|---|
| board | No | Present for action=list — the board grouped by phase column. |
| phase | No | |
| action | Yes | The action performed. |
| affected | No | Requested cards that actually matched and were changed by add/move/complete/remove. |
| unmatched | No | Requested cards (move/complete/remove) that matched no existing card — a no-op, distinct from a real change. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
As annotations already indicate destructiveHint=true, the description adds useful behavioral context such as 'remove (delete a mistaken card)' implying permanent deletion, and details on card movement across phases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Highly concise and well-structured: starts with a high-level definition, lists actions with brief explanations, and ends with a summarizing statement. No redundant or overly verbose sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 actions, 4 parameters, enum phases), the description covers all key aspects without needing to explain return values, as an output schema exists. It provides sufficient context for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the description still adds value by explaining usage patterns (e.g., 'shorthand for → Done', 'card IDs or title substrings to match') that go beyond the schema's definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly defines the tool as managing a scrum-style task board with specific actions (add, move, complete, remove, list). It explicitly states 'The single task tracker for the project', distinguishing it from sibling tools like archive_project or create_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for each action and describes the board columns, aiding in appropriate use. However, it does not explicitly mention when not to use this tool or list alternatives beyond being the 'single task tracker'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mark_resolvedAIdempotentInspect
Mark a knowledge or decision entity as resolved so it stops appearing in normal context loads. Resolved entries are still retrievable via get_workspace_entities({ status: "resolved" }). Use when a decision has been implemented, a known issue has been fixed, or a knowledge entry is no longer relevant.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Optional brief note on why/how it was resolved. | |
| title | Yes | Title or key phrase matching the entity to resolve. | |
| project_id | No | Optional project ID to scope the search. | |
| entity_type | No | Optional entity type filter. Omit to match any type. |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | The formatted brief, ready to read. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (idempotent, not destructive). The description adds behavioral context that resolved entities are hidden from normal loads but still retrievable, which is valuable beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and effect, followed by usage conditions. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and high schema coverage, the description is complete: it explains the effect, usage, and retrieval alternative. Could mention that it's a state toggle, but not necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents parameters well. The description adds minimal extra meaning (e.g., 'Optional brief note on why/how it was resolved' for notes), but overall value is limited.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'mark', the resource 'knowledge or decision entity', and the effect 'stops appearing in normal context loads', distinguishing it from sibling tools like archive_project or cleanup_context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is provided ('Use when a decision has been implemented...'), along with an alternative retrieval method via get_workspace_entities. Does not specify when not to use, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_debug_findingAInspect
Record a durable debugging finding, optionally tied to file paths and a commit/diff ref, after diagnosing a bug or tracing a non-obvious handoff.
| Name | Required | Description | Default |
|---|---|---|---|
| paths | No | Optional related file paths. | |
| summary | Yes | Concise factual finding. | |
| added_at | No | Optional ISO timestamp override. | |
| diff_ref | No | Optional PR/diff URL or identifier. | |
| commit_ref | No | Optional commit SHA/ref containing the fix. | |
| project_id | Yes | Project ID to attach the finding to. |
Output Schema
| Name | Required | Description |
|---|---|---|
| recorded | Yes | |
| project_id | No | |
| project_name | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false. Description adds 'durable' and the optional linking to paths/refs, which provides some behavioral context but does not go beyond what annotations already convey. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with action and conditions, no redundant words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters (2 required) and presence of output schema, the description covers purpose and usage context. It does not detail output schema, but that is handled separately. Complete for selection and basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description adds no additional parameter meaning beyond schema descriptions, but the summary and paths are placed in context of debugging.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'record', resource 'durable debugging finding', and conditions 'after diagnosing a bug or tracing a non-obvious handoff'. It distinguishes from sibling tools like record_hot_paths and mark_resolved by specifying the type of finding and optional file/commit links.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides specific context for when to use ('after diagnosing a bug or tracing a non-obvious handoff'), but does not explicitly state when not to use or mention alternatives. The context is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_hot_pathsAIdempotentInspect
Record durable file/folder hot paths AFTER you discover them, so future sessions find them before searching. Append nodes — do not restate the whole tree.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Hot paths to append — one entry per file or folder worth remembering. | |
| project_id | Yes | Project ID to attach hot paths to. |
Output Schema
| Name | Required | Description |
|---|---|---|
| recorded | Yes | Number of hot paths recorded. |
| project_id | No | |
| project_name | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and non-destructive behavior. The description adds the append-only nature and durability. However, it does not clarify if duplicate entries are deduplicated (relevant given idempotent hint), nor discuss permissions or failure scenarios.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: one defines purpose and timing, the second gives a clear behavioral directive. Every word earns its place; no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity and the presence of an output schema, the description covers the essential purpose and usage. It could mention error handling or validation, but the core information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters. The description adds behavioral context for 'items' (append, not restate) and implies the 'project_id' is a destination. This supplements the schema without repeating it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose: record hot paths after discovery so future sessions find them before searching. It distinguishes the tool's behavior by specifying appending rather than replacing, which differentiates it from potential sibling tools like update_context or create_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells when to use ('AFTER you discover them') and why (faster future lookup). It also guides how to use ('Append nodes — do not restate the whole tree'). However, it does not explicitly state when not to use or mention alternatives among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_projectAIdempotentInspect
Rename a project (umbrella or subproject). Use to tidy inconsistent, unclear, or shouty project names — the change is immediate and flows into every future brief. Junk names (file paths, "Untitled") are rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | The project to rename. | |
| project_name | Yes | The new name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| project_id | Yes | |
| project_name | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark as idempotent and non-destructive. The description adds behavioral details: 'the change is immediate and flows into every future brief' (side effect propagation) and 'junk names are rejected' (validation). This augments the annotation context well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. Front-loaded with purpose, followed by usage and constraints. Every sentence adds essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the rename operation, the description covers key aspects: action, scope, side effects, and validation. Output schema exists (not shown but stated) so return values need not be explained. Could potentially mention whether the old name is freed, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with basic descriptions. The tool description adds value by clarifying that project_id can refer to an umbrella or subproject, providing more context than the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Rename a project (umbrella or subproject)', specifying the exact verb and resource. It distinguishes from siblings by mentioning it works for both project types and gives concrete use cases like tidying inconsistent names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance ('tidy inconsistent, unclear, or shouty names') and mentions validation ('junk names are rejected'). However, it does not explicitly contrast with sibling tools like archive_project or cleanup_context, so the agent may need to infer alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_contextARead-onlyIdempotentInspect
Search across all your DeerDawn projects by keyword or topic. If you have not called start_session yet this session, call it first — it may already answer the question without a search.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (1-10, default 5). | |
| query | Yes | What to search for — e.g. "auth decisions" or "projects using PostgreSQL" |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description does not need to restate that. It adds the scope (all projects) and the pre-check suggestion, but no additional behavioral traits like pagination or rate limits. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first states the core function, the second provides a crucial usage hint. No unnecessary words, front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (two parameters, output schema present), the description covers the main use case and a relevant prerequisite. It leverages annotations for safety profile. Lacks mention of result format, but output schema handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear descriptions for both parameters. The tool description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches across all DeerDawn projects by keyword or topic. It uses a specific verb and resource, and hints at an alternative (start_session), but does not explicitly differentiate from other search-related siblings like get_context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: when to use (searching across projects) and a prerequisite (call start_session first, which may already answer the question). However, it does not mention other alternatives like get_context or find_known_paths.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_project_parentAIdempotentInspect
Re-parent an existing project: nest it under a top-level umbrella by passing parent_project_id, or promote it back to top-level by omitting parent_project_id. Use this to organize related projects into one umbrella after the fact. One level deep; the umbrella must be top-level and the project being moved must have no subprojects of its own.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | The project to move. | |
| parent_project_id | No | The umbrella to nest under. Omit to promote the project to top-level. |
Output Schema
| Name | Required | Description |
|---|---|---|
| project_id | Yes | |
| project_name | Yes | |
| parent_project_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (idempotentHint true, destructiveHint false), the description adds key behaviors: one-level nesting limitation, top-level umbrella requirement, and condition for promotion by omitting parent_project_id. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with the action stated first, followed by usage context and constraints. No unnecessary words; every sentence carries meaningful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description covers purpose, usage, parameter behavior, and constraints thoroughly. It provides all necessary context for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds value by clarifying that omitting parent_project_id promotes the project to top-level, and that parent_project_id must reference a top-level umbrella. This enriches the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('re-parent', 'nest', 'promote') and resource 'existing project'. It clearly distinguishes from siblings like create_project or archive_project by focusing on reparenting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('organize related projects into one umbrella after the fact') and provides constraints: umbrella must be top-level, project must have no subprojects, only one level deep. This guides the agent on appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_sessionARead-onlyIdempotentInspect
Call at the start of every session. Returns your active project context — current task, recent decisions, open questions — so you can resume without re-explaining the project.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | The formatted brief, ready to read. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. Description adds value by specifying what data is returned (project context) and its purpose (avoid re-explaining), going beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, no wasted words. First sentence gives primary action, second explains output and benefit. Well front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, existence of output schema, and annotations covering safety, the description sufficiently explains the tool. Could mention idempotency or that it should be called once per session, but not necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. Description does not need to add parameter info; the tool is straightforward with zero inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool returns active project context (current task, recent decisions, open questions) to resume a session. This differentiates it from context retrieval tools like get_context or get_next_best_context, which are siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs 'Call at the start of every session', providing strong when-to-use guidance. Lacks explicit when-not-to-use or alternatives, but the context is clear given the tool's unique role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
switch_subprojectAIdempotentInspect
Set which subproject is active for this codebase, so start_session, update_context, and manage_todos target it by default. The choice is remembered per workspace until you switch again. Keyed to the codebase (workspace_key), which the Claude Code / Cursor MCP sends automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | The subproject (or project) to make active for this workspace. | |
| workspace_key | Yes | Repo identity for the codebase this pin applies to (normalized git remote or root). Sent automatically by the local MCP. |
Output Schema
| Name | Required | Description |
|---|---|---|
| project_id | Yes | |
| project_name | Yes | |
| workspace_key | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint=true, and the description adds that the choice is remembered per workspace, which is a key behavioral detail. It also notes that workspace_key is sent automatically, improving transparency. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words: first sentence captures purpose and effect, second covers persistence and automatic parameter. Perfectly front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and the simplicity of the tool, the description covers purpose, impact on other tools, persistence, and parameter handling. No gaps remain for an agent to understand selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining that workspace_key is auto-sent and that project_id affects tool default targeting, going beyond the schema's brief descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sets the active subproject for other tools (start_session, update_context, manage_todos) and distinguishes from siblings like list_projects or archive_project by describing its unique role in targeting subsequent operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (to set active subproject for default targeting) and implies it's for configuration before invoking other tools. It does not explicitly list when not to use or name alternatives, but the context of sibling tools makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_contextAInspect
Update the context for a project. Call this after a decision is made, a task changes, or a feature ships.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | Which tool surface the update originated from. | claude_web |
| summary | Yes | What changed or was decided — 1-2 sentences | |
| commands | No | Key runnable commands to store. Stored by label — overwrites existing entry with the same label. | |
| project_id | Yes | Project ID to update |
Output Schema
| Name | Required | Description |
|---|---|---|
| project_id | Yes | |
| last_updated | No | |
| project_name | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, confirming mutation. The description adds no new behavioral details beyond that (e.g., whether context is overwritten or merged, required permissions). The schema's 'commands' field notes overwriting behavior, but the description does not reiterate or clarify this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-front-loaded sentence that conveys key information without waste. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description need not explain return values. The tool is simple (update context), and the description covers core usage. Minor gap: no mention of optional vs required parameters, but schema handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond what the schema already provides; it does not explain parameters or usage nuances.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb-resource pair ('Update the context for a project') and provides specific triggers (decision, task change, feature ship). However, it does not explicitly distinguish this tool from siblings like 'cleanup_context' or 'get_context', leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to call the tool ('after a decision is made, a task changes, or a feature ships'). It does not provide when-not-to-use guidance or name alternative tools, but the given context is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upsert_workspace_entitiesAIdempotentInspect
Create or update typed workspace entities (services, capabilities, patterns) and relationships. Use for durable architecture knowledge that should persist beyond a single project note.
| Name | Required | Description | Default |
|---|---|---|---|
| entities | Yes | Typed workspace entities to create or update. | |
| relations | No | Optional relationships between entities. |
Output Schema
| Name | Required | Description |
|---|---|---|
| entities_upserted | Yes | |
| relations_recorded | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey idempotency and non-destructiveness. Description adds 'create or update' and 'persist', consistent with annotations, but does not disclose additional behavioral details like deduplication logic or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. Front-loaded with action statement, followed by usage context. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 2 parameters and nested objects, description plus schema covers the essentials: what it does (upsert entities and relations), typical use case (persistent knowledge), and schema provides full parameter details. Could explain dedup logic slightly more, but still fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds little beyond the schema. The mention of entity types (services, capabilities, patterns) provides examples but is already covered by the schema enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Create or update' and specifies resource 'typed workspace entities' with examples. It clearly distinguishes from siblings like get_workspace_entities by emphasizing persistence beyond a single project note.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use for durable architecture knowledge that should persist beyond a single project note', giving clear context. Does not explicitly exclude when not to use or name alternatives, but the context is strong enough for an agent to differentiate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityDmaintenanceNever start from zero. Persistent session intelligence for AI coding assistants.471MIT
- AlicenseAqualityBmaintenanceA session-scoped memory layer for LLMs that enables AI assistants to explicitly store and retrieve notes, decisions, and context within a single conversation, ensuring focus without cross-session data contamination.6135MIT
- Alicense-qualityDmaintenanceA persistent memory layer for AI tools that decouples personal data from AI's unstable memory, enabling you to mention information once and have it remembered forever across all conversations.3MIT
- Alicense-qualityDmaintenanceEnables persistent, intelligent memory across sessions using a weighted, interconnected graph that evolves through conversation.MIT