Skip to content

Conversation

@nikomatsakis
Copy link
Member

Add ability to conditionally enable or disable MCP tools at build time:

  • EnabledTools enum with DenyList and AllowList variants
  • disable_tool(name) / enable_tool(name) methods that error on unknown tools
  • disable_all_tools() / enable_all_tools() to switch filtering modes
  • list_tools and call_tool filter based on enabled state

Includes end-to-end tests with elizacp and cookbook documentation.

Add ability to conditionally enable or disable MCP tools at build time:

- EnabledTools enum with DenyList and AllowList variants
- disable_tool(name) / enable_tool(name) methods that error on unknown tools
- disable_all_tools() / enable_all_tools() to switch filtering modes
- list_tools and call_tool filter based on enabled state

Includes end-to-end tests with elizacp and cookbook documentation.
The goal is to enable standalone use. Next step: tests!
Tests for running McpServer directly with MCP clients via the
Component<McpServerToClient> implementation, without going through ACP.

- test_standalone_server_list_tools: verify tool listing
- test_standalone_server_call_echo_tool: test string output tool
- test_standalone_server_call_add_tool: test structured output tool
- test_standalone_server_tool_not_found: verify error handling
- test_standalone_server_with_disabled_tools: test tool filtering
JrConnectionBuilder now implements Component<H::Link>, allowing it to be
used anywhere a Component is expected. This enables more compositional
patterns where connection builders can be passed directly to functions
expecting components.
@nikomatsakis nikomatsakis merged commit 6719404 into symposium-dev:main Dec 29, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant