feat(server): inject explicit descriptions into MCP tools/list payload
This commit is contained in:
1 parent
44df610998
commit
02bafa5db1
2 files changed
+132
-54
No files matched your search
+54
-54
@@ -39,72 +39,72 @@ impl MemoryHandler {
|
||||
}
|
||||
"tools/list" => {
|
||||
let tools = vec![
|
||||
crate::mcp::tool_def::<CreateEntitiesTool>("create_entities", ""),
|
||||
crate::mcp::tool_def::<CreateRelationsTool>("create_relations", ""),
|
||||
crate::mcp::tool_def::<AddObservationsTool>("add_observations", ""),
|
||||
crate::mcp::tool_def::<DeleteEntitiesTool>("delete_entities", ""),
|
||||
crate::mcp::tool_def::<DeleteObservationsTool>("delete_observations", ""),
|
||||
crate::mcp::tool_def::<DeleteRelationsTool>("delete_relations", ""),
|
||||
crate::mcp::tool_def::<ReadGraphTool>("read_graph", ""),
|
||||
crate::mcp::tool_def::<SearchNodesTool>("search_nodes", ""),
|
||||
crate::mcp::tool_def::<OpenNodesTool>("open_nodes", ""),
|
||||
crate::mcp::tool_def::<LogCodeChangeTool>("log_code_change", ""),
|
||||
crate::mcp::tool_def::<QueryRecentChangesTool>("query_recent_changes", ""),
|
||||
crate::mcp::tool_def::<VisualizeGraphTool>("visualize_graph", ""),
|
||||
crate::mcp::tool_def::<AddStickyNoteTool>("add_sticky_note", ""),
|
||||
crate::mcp::tool_def::<ReadStickyNotesTool>("read_sticky_notes", ""),
|
||||
crate::mcp::tool_def::<CondenseEntityTool>("condense_entity", ""),
|
||||
crate::mcp::tool_def::<AddTaskTool>("add_task", ""),
|
||||
crate::mcp::tool_def::<UpdateTaskStatusTool>("update_task_status", ""),
|
||||
crate::mcp::tool_def::<ListActiveTasksTool>("list_active_tasks", ""),
|
||||
crate::mcp::tool_def::<StoreSnippetTool>("store_snippet", ""),
|
||||
crate::mcp::tool_def::<SearchSnippetsTool>("search_snippets", ""),
|
||||
crate::mcp::tool_def::<DeleteSnippetTool>("delete_snippet", ""),
|
||||
crate::mcp::tool_def::<LogDecisionTool>("log_decision", ""),
|
||||
crate::mcp::tool_def::<QueryDecisionsTool>("query_decisions", ""),
|
||||
crate::mcp::tool_def::<MergeEntitiesTool>("merge_entities", ""),
|
||||
crate::mcp::tool_def::<FindOrphansTool>("find_orphans", ""),
|
||||
crate::mcp::tool_def::<LearnPreferenceTool>("learn_preference", ""),
|
||||
crate::mcp::tool_def::<ReadPreferencesTool>("read_preferences", ""),
|
||||
crate::mcp::tool_def::<LogErrorFixTool>("log_error_fix", ""),
|
||||
crate::mcp::tool_def::<SearchErrorFixesTool>("search_error_fixes", ""),
|
||||
crate::mcp::tool_def::<PinFileTool>("pin_file", ""),
|
||||
crate::mcp::tool_def::<UnpinFileTool>("unpin_file", ""),
|
||||
crate::mcp::tool_def::<ListPinnedFilesTool>("list_pinned_files", ""),
|
||||
crate::mcp::tool_def::<AddSessionSummaryTool>("add_session_summary", ""),
|
||||
crate::mcp::tool_def::<GetProjectTimelineTool>("get_project_timeline", ""),
|
||||
crate::mcp::tool_def::<LeaveHandoffMemoTool>("leave_handoff_memo", ""),
|
||||
crate::mcp::tool_def::<ReadHandoffMemosTool>("read_handoff_memos", ""),
|
||||
crate::mcp::tool_def::<ClearHandoffMemosTool>("clear_handoff_memos", ""),
|
||||
crate::mcp::tool_def::<UpdateEnvFingerprintTool>("update_env_fingerprint", ""),
|
||||
crate::mcp::tool_def::<ReadEnvFingerprintTool>("read_env_fingerprint", ""),
|
||||
crate::mcp::tool_def::<LogEnvRequirementTool>("log_env_requirement", ""),
|
||||
crate::mcp::tool_def::<AddMilestoneTool>("add_milestone", ""),
|
||||
crate::mcp::tool_def::<UpdateMilestoneTool>("update_milestone", ""),
|
||||
crate::mcp::tool_def::<ListMilestonesTool>("list_milestones", ""),
|
||||
crate::mcp::tool_def::<CreateEntitiesTool>("create_entities", "Create new entities in the knowledge graph."),
|
||||
crate::mcp::tool_def::<CreateRelationsTool>("create_relations", "Create new relations between entities in the knowledge graph."),
|
||||
crate::mcp::tool_def::<AddObservationsTool>("add_observations", "Add new observations to existing entities in the knowledge graph."),
|
||||
crate::mcp::tool_def::<DeleteEntitiesTool>("delete_entities", "Delete entities from the knowledge graph."),
|
||||
crate::mcp::tool_def::<DeleteObservationsTool>("delete_observations", "Delete observations from existing entities."),
|
||||
crate::mcp::tool_def::<DeleteRelationsTool>("delete_relations", "Delete relations between entities."),
|
||||
crate::mcp::tool_def::<ReadGraphTool>("read_graph", "Read the entire knowledge graph."),
|
||||
crate::mcp::tool_def::<SearchNodesTool>("search_nodes", "Search for entities in the knowledge graph by name or type."),
|
||||
crate::mcp::tool_def::<OpenNodesTool>("open_nodes", "Open and retrieve full details of specific nodes in the knowledge graph."),
|
||||
crate::mcp::tool_def::<LogCodeChangeTool>("log_code_change", "Log a significant code change or refactor in the memory system."),
|
||||
crate::mcp::tool_def::<QueryRecentChangesTool>("query_recent_changes", "Query recently logged code changes."),
|
||||
crate::mcp::tool_def::<VisualizeGraphTool>("visualize_graph", "Generate a visual representation of the knowledge graph."),
|
||||
crate::mcp::tool_def::<AddStickyNoteTool>("add_sticky_note", "Add a sticky note for unstructured thoughts or reminders."),
|
||||
crate::mcp::tool_def::<ReadStickyNotesTool>("read_sticky_notes", "Read all active sticky notes."),
|
||||
crate::mcp::tool_def::<CondenseEntityTool>("condense_entity", "Condense or summarize an entity's observations to reduce size."),
|
||||
crate::mcp::tool_def::<AddTaskTool>("add_task", "Add a new task to the task tracker."),
|
||||
crate::mcp::tool_def::<UpdateTaskStatusTool>("update_task_status", "Update the status of an existing task."),
|
||||
crate::mcp::tool_def::<ListActiveTasksTool>("list_active_tasks", "List all currently active tasks."),
|
||||
crate::mcp::tool_def::<StoreSnippetTool>("store_snippet", "Store a reusable code snippet."),
|
||||
crate::mcp::tool_def::<SearchSnippetsTool>("search_snippets", "Search through stored code snippets."),
|
||||
crate::mcp::tool_def::<DeleteSnippetTool>("delete_snippet", "Delete a stored code snippet."),
|
||||
crate::mcp::tool_def::<LogDecisionTool>("log_decision", "Log an architectural decision record (ADR)."),
|
||||
crate::mcp::tool_def::<QueryDecisionsTool>("query_decisions", "Query architectural decision records."),
|
||||
crate::mcp::tool_def::<MergeEntitiesTool>("merge_entities", "Merge two entities in the knowledge graph into one."),
|
||||
crate::mcp::tool_def::<FindOrphansTool>("find_orphans", "Find orphaned entities (entities without any relations) in the graph."),
|
||||
crate::mcp::tool_def::<LearnPreferenceTool>("learn_preference", "Record a user preference or behavior to adapt future interactions."),
|
||||
crate::mcp::tool_def::<ReadPreferencesTool>("read_preferences", "Read all learned user preferences."),
|
||||
crate::mcp::tool_def::<LogErrorFixTool>("log_error_fix", "Log a complex error and its fix for future reference."),
|
||||
crate::mcp::tool_def::<SearchErrorFixesTool>("search_error_fixes", "Search through previously logged error fixes."),
|
||||
crate::mcp::tool_def::<PinFileTool>("pin_file", "Pin a file to keep it explicitly in the context workspace."),
|
||||
crate::mcp::tool_def::<UnpinFileTool>("unpin_file", "Unpin a file from the context workspace."),
|
||||
crate::mcp::tool_def::<ListPinnedFilesTool>("list_pinned_files", "List all currently pinned files."),
|
||||
crate::mcp::tool_def::<AddSessionSummaryTool>("add_session_summary", "Add a summary of the current session."),
|
||||
crate::mcp::tool_def::<GetProjectTimelineTool>("get_project_timeline", "Get a timeline of major project events."),
|
||||
crate::mcp::tool_def::<LeaveHandoffMemoTool>("leave_handoff_memo", "Leave a memo for the next session or agent."),
|
||||
crate::mcp::tool_def::<ReadHandoffMemosTool>("read_handoff_memos", "Read pending handoff memos."),
|
||||
crate::mcp::tool_def::<ClearHandoffMemosTool>("clear_handoff_memos", "Clear handoff memos after reading."),
|
||||
crate::mcp::tool_def::<UpdateEnvFingerprintTool>("update_env_fingerprint", "Update the environment fingerprint (e.g., OS, tool versions)."),
|
||||
crate::mcp::tool_def::<ReadEnvFingerprintTool>("read_env_fingerprint", "Read the current environment fingerprint."),
|
||||
crate::mcp::tool_def::<LogEnvRequirementTool>("log_env_requirement", "Log a required tool or package for the environment."),
|
||||
crate::mcp::tool_def::<AddMilestoneTool>("add_milestone", "Add a new project milestone."),
|
||||
crate::mcp::tool_def::<UpdateMilestoneTool>("update_milestone", "Update the status of a project milestone."),
|
||||
crate::mcp::tool_def::<ListMilestonesTool>("list_milestones", "List all project milestones."),
|
||||
crate::mcp::tool_def::<GenerateStandupReportTool>(
|
||||
"generate_standup_report",
|
||||
"",
|
||||
),
|
||||
crate::mcp::tool_def::<RegisterEnvironmentTool>("register_environment", ""),
|
||||
crate::mcp::tool_def::<RegisterEnvironmentTool>("register_environment", "Register details about a specific deployment environment."),
|
||||
crate::mcp::tool_def::<GetEnvironmentDetailsTool>(
|
||||
"get_environment_details",
|
||||
"",
|
||||
),
|
||||
crate::mcp::tool_def::<AddPrChecklistItemTool>("add_pr_checklist_item", ""),
|
||||
crate::mcp::tool_def::<GetPrChecklistTool>("get_pr_checklist", ""),
|
||||
crate::mcp::tool_def::<ClearPrChecklistTool>("clear_pr_checklist", ""),
|
||||
crate::mcp::tool_def::<LogTechDebtTool>("log_tech_debt", ""),
|
||||
crate::mcp::tool_def::<ResolveTechDebtTool>("resolve_tech_debt", ""),
|
||||
crate::mcp::tool_def::<ListTechDebtTool>("list_tech_debt", ""),
|
||||
crate::mcp::tool_def::<SaveContextWorkspaceTool>("save_context_workspace", ""),
|
||||
crate::mcp::tool_def::<LoadContextWorkspaceTool>("load_context_workspace", ""),
|
||||
crate::mcp::tool_def::<AddPrChecklistItemTool>("add_pr_checklist_item", "Add an item to the PR checklist."),
|
||||
crate::mcp::tool_def::<GetPrChecklistTool>("get_pr_checklist", "Get the current PR checklist."),
|
||||
crate::mcp::tool_def::<ClearPrChecklistTool>("clear_pr_checklist", "Clear the PR checklist."),
|
||||
crate::mcp::tool_def::<LogTechDebtTool>("log_tech_debt", "Log identified technical debt."),
|
||||
crate::mcp::tool_def::<ResolveTechDebtTool>("resolve_tech_debt", "Mark a logged technical debt as resolved."),
|
||||
crate::mcp::tool_def::<ListTechDebtTool>("list_tech_debt", "List all unresolved technical debt."),
|
||||
crate::mcp::tool_def::<SaveContextWorkspaceTool>("save_context_workspace", "Save the current set of pinned files and context."),
|
||||
crate::mcp::tool_def::<LoadContextWorkspaceTool>("load_context_workspace", "Load a previously saved context workspace."),
|
||||
crate::mcp::tool_def::<ListContextWorkspacesTool>(
|
||||
"list_context_workspaces",
|
||||
"",
|
||||
),
|
||||
crate::mcp::tool_def::<OmniSearchTool>("omni_search", ""),
|
||||
crate::mcp::tool_def::<GetProjectHealthTool>("get_project_health", ""),
|
||||
crate::mcp::tool_def::<OmniSearchTool>("omni_search", "Search across all memory sources (graph, tasks, snippets, ADRs, etc.) at once."),
|
||||
crate::mcp::tool_def::<GetProjectHealthTool>("get_project_health", "Get a synthesized health report of the project based on memory data."),
|
||||
];
|
||||
Some(crate::mcp::success(
|
||||
id,
|
||||
|
||||
Reference in new issue
Block a user