NAME

Langertha::Raider::HallTools - MCP::Server factory with hall-side tools (telegram_reply, hall_status, hall_spawn)

VERSION

version 0.503

DESCRIPTION

The Hall tools of raider: raider mounts them when a Langertha::Raider::Hall started it ("RAIDER_HALL_SOCKET" names a socket).

build_hall_tools_server

my $server = Langertha::Raider::HallTools::build_hall_tools_server(
    socket => $ENV{RAIDER_HALL_SOCKET},
);

Returns an MCP::Server exposing tools that let a raider running inside a hall talk back to its hall daemon:

  • telegram_reply(bot, chat_id, text)

    When the raider was spawned for a Telegram message, the hall sets RAIDER_HALL_TELEGRAM_BOT and RAIDER_HALL_TELEGRAM_CHAT_ID (or pass telegram => { bot => ..., chat_id => ... }). The tool is then bound to that chat: only text is required, and a different bot or chat_id is refused. A message from a forum topic also sets RAIDER_HALL_TELEGRAM_THREAD_ID (message_thread_id in the hash), and the reply goes into that topic. Unbound, message_thread_id is an optional argument.

  • hall_status()

  • hall_spawn(name, mission)

Each tool opens a short-lived UNIX-socket command connection to the hall, sends a single JSON frame, reads the reply, and returns it as text. Errors surface as text_result with isError=1.

ENVIRONMENT

The Hall sets these for the raiders it starts; the Telegram ones only for a Telegram mission, and without a telegram argument the function reads them.

RAIDER_HALL_SOCKET

The Hall's control socket. raider mounts the tools when it names a socket and passes it as socket; the function itself does not read it.

RAIDER_HALL_TELEGRAM_BOT

The bot of the Telegram message the raider was started for; with "RAIDER_HALL_TELEGRAM_CHAT_ID" it binds telegram_reply to that chat.

RAIDER_HALL_TELEGRAM_CHAT_ID

The chat of that message.

RAIDER_HALL_TELEGRAM_THREAD_ID

The forum topic of that message, when it came from one.

SEE ALSO

SUPPORT

Issues

Please report bugs and feature requests on GitHub 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.