Skip to content

MCP Tools

All tools are exposed via the Model Context Protocol (MCP) over stdio or HTTP transport.

Memory Management

save_memory

Save a memory entry to .claude/memory/.

ParameterTypeRequiredDescription
project_pathstringyesAbsolute project path, or "global" for ~/.claude/memory/
filenamestringyesFilename (e.g., MEMORY.md, session-state.md)
contentstringyesFile content to save
modestringno"overwrite" (default) or "append"

Returns: { success, path }

load_memory

Load memory files from .claude/memory/.

ParameterTypeRequiredDescription
project_pathstringyesAbsolute project path, or "global"
filenamestringnoSpecific file to load; omit to list all .md files

Returns (single file): { filename, content, path, modified_at }

Returns (list): { files: [{ filename, content, size, modified_at }] }

search_memory

Keyword search over memory files (case-insensitive). Automatically supplements with semantic search when fewer than 3 keyword matches are found.

ParameterTypeRequiredDescription
querystringyesSearch keyword
project_pathstringnoLimit to specific project; omit to search all
max_resultsnumbernoMaximum results (default: 20)

Returns: { results, total_matches, query, search_method, semantic_results? }

Configuration

config_get_global

Get global configuration overview including CLAUDE.md, settings.json, and .mcp.json.

No parameters.

Returns: { claude_home, claude_md?, settings?, mcp_config?, has_claude_md, has_settings, has_mcp, has_agents, has_rules, has_skills, has_commands, has_memory }

config_save_global

Save a global configuration field. Validates JSON for settings and mcp fields.

ParameterTypeRequiredDescription
fieldstringyes"claude_md", "settings", or "mcp"
contentstringyesContent to write

Returns: { success, path, field }

config_save_project

Save a project-level configuration field.

ParameterTypeRequiredDescription
project_pathstringyesAbsolute project path
fieldstringyes"claude_md", "settings", or "mcp"
contentstringyesContent to write

Returns: { success, path, field, project_path }

get_project_config

Get an overview of a project's .claude/ directory.

ParameterTypeRequiredDescription
project_pathstringyesAbsolute project path

Returns: { path, name, has_claude_md, claude_md_preview, has_settings, has_mcp, has_hooks, has_agents, has_commands, has_skills, has_rules, has_memory, config_count }

list_projects

List all Claude Code managed projects found in ~/.claude/projects/.

ParameterTypeRequiredDescription
limitnumbernoMaximum projects to return (default: 50)

Returns: { projects: [{ name, path, config_count, has_memory, last_modified }], total }

Templates

template_list

List all available configuration templates.

No parameters.

Returns: { categories: [{ id, name, icon, templates: [{ id, name, category, description, tags }] }], total_templates }

template_install

Install a template to project or global scope.

ParameterTypeRequiredDescription
template_idstringyesTemplate ID (e.g., "hackathon-core")
scopestringno"project" (default) or "global"
project_pathstringnoRequired for project scope
overwritestringno"true" to overwrite existing files

Returns: { success, template_id, template_name, scope, installed_files, total_files }

template_uninstall

Remove a template's rules file (tpl-{id}.md).

ParameterTypeRequiredDescription
template_idstringyesTemplate ID to uninstall
scopestringno"project" (default) or "global"
project_pathstringnoRequired for project scope

Returns: { success, template_id, scope, removed }

template_installed

List installed templates by scanning for tpl-*.md files.

ParameterTypeRequiredDescription
scopestringno"project" (default) or "global"
project_pathstringnoRequired for project scope

Returns: { installed: [{ template_id, name, file_path }], scope, total }

Extensions

extension_list

List extension files (agents, rules, skills, or commands).

ParameterTypeRequiredDescription
typestringyes"agents", "rules", "skills", or "commands"
scopestringno"global" (default) or absolute project path

Returns: { files: [{ name, filename, is_dir, size, modified_at }], type, scope, total }

extension_read

Read the content of a specific extension file.

ParameterTypeRequiredDescription
typestringyesExtension type
namestringyesExtension name (without .md)
scopestringno"global" (default) or absolute project path

Returns: { name, type, scope, content, path }

extension_save

Create or update an extension file.

ParameterTypeRequiredDescription
typestringyesExtension type
namestringyesExtension name (without .md)
contentstringyesFile content
scopestringno"global" (default) or absolute project path

Returns: { success, name, type, scope, path }

extension_delete

Delete an extension file.

ParameterTypeRequiredDescription
typestringyesExtension type
namestringyesExtension name (without .md)
scopestringno"global" (default) or absolute project path

Returns: { success, name, type, scope }

Hooks

hooks_list

List all configured hooks grouped by event type.

ParameterTypeRequiredDescription
scopestringno"global" (default) or absolute project path

Returns: { scope, events: [{ event, entries }], total_events }

hooks_save

Save hooks configuration. Only modifies the hooks field in settings.json, preserving all other settings.

ParameterTypeRequiredDescription
hooksstringyesComplete hooks JSON object
scopestringno"global" (default) or absolute project path

Valid event names: PreToolUse, PostToolUse, SessionStart, SessionEnd, Stop, PreCompact, UserPromptSubmit

Returns: { success, scope, events_saved, path }

Evolution

evolve_status

Get evolution system status: pending suggestions, history statistics.

No parameters.

Returns: { status, pending_suggestions: [{ id, type, title, confidence }] }

evolve_analyze

Analyze rules for duplicates, missing coverage, and health issues.

ParameterTypeRequiredDescription
scopestringno"global" (default) or absolute project path

Returns: { scope, rules_scanned, suggestions_found, duration_ms, suggestions }

evolve_apply

Approve or reject a suggestion.

ParameterTypeRequiredDescription
suggestion_idstringyesSuggestion ID
actionstringyes"approve" or "reject"

Returns: { success, suggestion_id, action, new_status, title }

Luoshu Config

luoshu_config_get

Read luoshu configuration. API Keys are automatically masked.

ParameterTypeRequiredDescription
sectionstringno"llm", "embedding", "memory", or "reminder"; omit for all

Returns: Full or partial config object with masked API keys.

luoshu_config_set

Set a configuration value. Connection test runs automatically after setting an API key.

ParameterTypeRequiredDescription
keystringyesConfig path (e.g., "llm.api_key", "llm.provider")
valuestringyesValue to set

Available keys: llm.provider, llm.api_key, llm.endpoint, llm.model, llm.max_tokens, llm.temperature, embedding.provider, embedding.api_key, embedding.endpoint, embedding.model, embedding.dimensions, memory.auto_extract, memory.retention_days, memory.max_entries, memory.vector_search_top_k, reminder.dismissed, reminder.permanently_dismissed

Returns: { success, key, connection_test? }

luoshu_config_validate

Validate configuration completeness and test LLM API connection.

No parameters.

Returns: { valid, issues, connection_test: { connected, status, error? } }

luoshu_provider_list

List all available LLM/Embedding provider presets.

No parameters.

Returns: { providers: [{ name, display_name, llm_endpoint, llm_model, embed_endpoint, embed_model, embed_dimension }], usage }

Luoshu Memory

memory_extract

Extract key points from a session summary and save as memory entries. Requires LLM configuration.

ParameterTypeRequiredDescription
session_summarystringyesSession summary text
project_pathstringnoAssociated project path
tagsstringnoAdditional tags, comma-separated

Returns: { extracted, entries }

Semantic search over memories using natural language.

ParameterTypeRequiredDescription
querystringyesNatural language query
project_pathstringnoLimit to specific project
max_resultsnumbernoMaximum results (default: 10)
modestringno"auto" (default), "semantic", or "keyword"

Returns: { results, total, search_method, query }

luoshu_recall

Intelligent recall: semantic search + LLM synthesis into a coherent answer. Merges JSONL memory with file semantic search results.

ParameterTypeRequiredDescription
querystringyesNatural language query
project_pathstringnoLimit to specific project
max_resultsnumbernoMaximum search sources (default: 5)

Returns: { answer, sources, file_sources?, search_method, query }

Luoshu Status

luoshu_status

Return overall system status.

No parameters.

Returns: { version, llm_configured, embedding_configured, memory_entries, vector_index_entries, embedding_cache_size, config_path, features }

luoshu_reindex

Rebuild the vector index for all memory entries. Requires Embedding configuration.

No parameters.

Returns: { reindexed, total, duration_ms }

File Semantic Search (OpenViking)

Semantic search over .claude/memory/*.md, .claude/rules/*.md, and project root MEMORY.md.

ParameterTypeRequiredDescription
querystringyesNatural language query
scopestringno"global" or absolute project path
limitnumbernoMaximum results (default: 10)

Returns: { results, total, query, scope }

ov_index

Build or update the vector index. Usually not needed — ov_search auto-syncs.

ParameterTypeRequiredDescription
scopestringno"global" or absolute project path
forcebooleannoFull rebuild (default: false)

Returns: { changes, total_indexed, vector_entries, duration_ms, force, scope }

ov_status

Check index status and configuration.

No parameters.

Returns: { initialized, embedding_configured, embedding_model, global_index: { indexed_files, vector_entries, last_reconciled, index_dir } }

Import / Export

export_config

Export configuration as base64-encoded ZIP.

ParameterTypeRequiredDescription
scopestringyes"global" or "project"
project_pathstringnoRequired when scope is "project"

Returns: { success, format: "base64-zip", size, files, data }

import_config

Import configuration from base64-encoded ZIP.

ParameterTypeRequiredDescription
target_pathstringyesAbsolute path to import into
datastringyesBase64-encoded ZIP data

Returns: { success, files_imported, file_names }

Released under the MIT License.