【技术文档摘要】
为 Perl 和实时网络框架 Mojolicious 提供 Model Context Protocol 支持。
请注意,此模块仍在开发中,并且会快速变化。此外,MCP 规范会定期更新,我们将会实现这些更新。重大变更的可能性很大。
您需要的是Perl 5.20或更高版本。只需从CPAN安装即可。
$ cpanm -n MCP
我们建议使用Perlbrew环境。
使用 to_action 方法将MCP端点添加到任何Mojolicious应用程序中。
use Mojolicious::Lite -signatures;
use MCP::Server;
my $server = MCP::Server->new;
$server->tool(
name => 'echo',
description => '回显输入文本',
input_schema => {type => 'object', properties => {msg => {type => 'string'}}, required => ['msg']},
code => sub ($tool, $args) {
return "回显: $args->{msg}";
}
);
any '/mcp' => $server->to_action;
app->start;
可以通过Web应用程序添加认证,就像对其他路由一样。
构建本地命令行应用程序,并使用 to_stdio 方法通过stdio传输进行测试。
use Mojo::Base -strict, -signatures;
use MCP::Server;
my $server = MCP::Server->new;
$server->tool(
name => 'echo',
description => '回显输入文本',
input_schema => {type => 'object', properties => {msg => {type => 'string'}}, required => ['msg']},
code => sub ($tool, $args) {
return "回显: $args->{msg}";
}
);
$server->to_stdio;
只需运行脚本并在命令行上键入请求。
$ perl examples/echo_stdio.pl
{"jsonrpc":"2.0","id":"1","method":"tools/list"}
{"jsonrpc":"2.0","id":"2","method":"tools/call","params":{"name":"echo","arguments":{"msg":"hello perl"}}}