NAME
Langertha::Raider::MCP::View - Internal filtered view of a configured MCP server, for a subagent
VERSION
version 0.504
SYNOPSIS
# Internal to Langertha-Raider -- no API promise.
my $view = Langertha::Raider::MCP::View->new(
server => $mcp->client('github'),
allows => sub { $_[0] eq 'mcp__github__get_issue' },
);
my $tools = await $view->list_tools; # only get_issue
DESCRIPTION
Internal module. Its interface may change without notice.
A configured MCP server as a subagent sees it (ADR 0029 §11): the same connection (no second process), only the tools "allows" lets through. It answers initialize, list_tools and call_tool like Langertha::Raider::MCP::Server; a call of a tool it hides fails. A view that hides every tool still takes its place in the engine's mcp_servers, so the engine:N of the servers after it are those of the caller.
server
The Langertha::Raider::MCP::Server. Required.
allows
sub { my ( $tool_name ) = @_; ... }: true for a tool (by the name the model sees) the view lets through. Required.
initialize
list_tools
call_tool
As Langertha::Raider::MCP::Server, filtered.
loop
undef: a view is no IO::Async::Notifier, so code that takes its MCP clients out of the loop when a subagent is done leaves it (and the caller's connection) alone.
SEE ALSO
SUPPORT
Issues
Please report bugs and feature requests at https://github.com/Getty/langertha-raider/issues.
IRC
Join #langertha on irc.perl.org or message Getty directly.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/
COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.