Support Exclude Filter for vMCP Tool Filtering (Deny List with Default Allow)
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 2.2k
- Forks
- 300
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 184
Description
Description
Currently, vMCP tool filtering only supports an include filter (allow list) where you must explicitly specify all tools to be included. There is no option to exclude specific tools while allowing the rest through by default.
However, an exclude list comes with some security considerations noted below. We need more info on a motivating use cases before moving forward with this change, so we can best mitigate any potential security problems.
Use Case
The current include-only approach can become onerous when you want to exclude just 2-3 specific known tools from a server that exposes dozens of tools. Instead of listing 20+ allowed tools, it would be more convenient to specify the few tools you want to block and allow everything else through.
This is particularly relevant when:
- You trust most tools from a server but want to block specific ones
- A server has many tools and maintaining a long allow list is cumbersome
- You want to automatically allow new tools as they're added to the server (though this has security trade-offs)
Current Behavior
- Only include filters are supported (must list all allowed tools)
- The
ExcludeAllfunctionality addresses different use cases (blocking ALL tools when using composite tools) - Registry filters support both include and exclude options, but vMCP tool filters do not
Desired Behavior
Add support for an exclude filter (deny list) where:
- You can specify a list of tools to exclude
- Any tool NOT in the exclude list is allowed by default
- This would complement the existing include filter approach
Security Considerations
The counter-argument from a security perspective is that an explicit allow list is safer:
- Requires conscious review of which tools are permitted
- New tools added to an MCP server don't automatically become available
- Forces deliberate security decisions when bumping versions
This trade-off should be documented for users choosing between include and exclude approaches.
Related
- Issue #2779 - Original ExcludeAll issue (addresses a different use case)
- Registry filters already support both include/exclude patterns
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing vMCP tool-filtering and ExcludeAll behavior, then compare the registry filter include/exclude options and issue #2779. Done requires a confirmed motivating use case, an agreed security trade-off, and a defined approach for excluding named tools while allowing others by default.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend-api-design, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100