Skip to content

[FEATURE] Allow enabling/disabling individual MCP tools #61

@manymorph

Description

@manymorph

Feature Description

A settings panel to enable/disable MCP tools, with category-level toggles for bulk control and individual tool toggles for fine-grained configuration.

Use Case & Motivation

When using this plugin with AI assistants that have direct filesystem access (like Claude Code), many file manipulation tools are redundant. Each tool definition consumes context tokens in every conversation - with the full set of tools, the MCP tools take 6% of Claude's context. Disabling unused tools could save 3,000–5,000 tokens per session.

Tools valuable regardless of filesystem access:

  • search_vault_smart (semantic search via Smart Connections)
  • search_vault_simple (text search using Obsidian's index)
  • search_vault (Dataview queries)
  • show_file_in_obsidian (opens files in UI)
  • All *_active_file tools (6 tools)

Tools that duplicate filesystem access:

  • list_vault_files (directory listing)
  • Most *_vault_file tools (5 tools)
  • fetch (duplicates built-in web fetch)

Proposed Solution

A settings panel with category toggles and individual tool toggles:

☑ Search Tools
- ☑ search_vault_smart
- ☑ search_vault_simple
- ☑ search_vault

☐ Active File Tools
- ☐ get_active_file
- ☐ update_active_file
- ☐ append_to_active_file
- ☐ patch_active_file
- ☐ delete_active_file

☐ Vault File Tools
- ☐ get_vault_file
- ☐ create_vault_file
- ☐ append_to_vault_file
- ☐ patch_vault_file
- ☐ delete_vault_file

☑ Navigation Tools
- ☑ list_vault_files
- ☑ show_file_in_obsidian

☐ Utility Tools
- ☐ fetch
- ☑ get_server_info
- ☐ execute_template

Behaviour:

  • Checking/unchecking a category affects all tools in that category
  • Individual toggles allow exceptions within a category
  • Category shows indeterminate state when children are mixed
  • Disabled tools are not exposed via MCP

Token counts

FYI, here are the token counts reported by Claude Code:

MCP tools · /mcp
     └ mcp__obsidian-mcp-tools__fetch (obsidian-mcp-tools): 679 tokens
     └ mcp__obsidian-mcp-tools__get_server_info (obsidian-mcp-tools): 581 tokens
     └ mcp__obsidian-mcp-tools__get_active_file (obsidian-mcp-tools): 603 tokens
     └ mcp__obsidian-mcp-tools__update_active_file (obsidian-mcp-tools): 579 tokens
     └ mcp__obsidian-mcp-tools__append_to_active_file (obsidian-mcp-tools)580 tokens

     └ mcp__obsidian-mcp-tools__patch_active_file (obsidian-mcp-tools): 1.1k tokens
     └ mcp__obsidian-mcp-tools__delete_active_file (obsidian-mcp-tools): 565 tokens
     └ mcp__obsidian-mcp-tools__show_file_in_obsidian (obsidian-mcp-tools)618 tokens

     └ mcp__obsidian-mcp-tools__search_vault (obsidian-mcp-tools): 613 tokens
     └ mcp__obsidian-mcp-tools__search_vault_simple (obsidian-mcp-tools): 584 tokens
     └ mcp__obsidian-mcp-tools__list_vault_files (obsidian-mcp-tools): 575 tokens
     └ mcp__obsidian-mcp-tools__get_vault_file (obsidian-mcp-tools): 598 tokens
     └ mcp__obsidian-mcp-tools__create_vault_file (obsidian-mcp-tools): 591 tokens
     └ mcp__obsidian-mcp-tools__append_to_vault_file (obsidian-mcp-tools):590 tokens

     └ mcp__obsidian-mcp-tools__patch_vault_file (obsidian-mcp-tools): 1.1k tokens
     └ mcp__obsidian-mcp-tools__delete_vault_file (obsidian-mcp-tools): 572 tokens
     └ mcp__obsidian-mcp-tools__search_vault_smart (obsidian-mcp-tools): 731 tokens
     └ mcp__obsidian-mcp-tools__execute_template (obsidian-mcp-tools): 664 tokens

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions