A Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). Prism Relay is another package created by TJ Miller (creator of PrismPHP) that provides seamless integration between Prism and MCP servers, empowering your AI applications with powerful external tool capabilities.
Main Features
- Ability to connect to multiple MCP servers
- Support for multiple transport mechanisms: HTTP Transport for MCP servers that communicate over HTTP and STDIO Transport for locally running MCP servers that communicate via standard I/O.
- Specific exception types for better error handling
Example
A sample configuration for this package in config/relay.php
would look like:
return [ 'servers' => [ 'puppeteer' => [ 'command' => ['npx', '-y', '@modelcontextprotocol/server-puppeteer'], 'timeout' => 30, 'env' => [], 'transport' => \Prism\Relay\Enums\Transport::Stdio, ], ], 'cache_duration' => env('RELAY_TOOLS_CACHE_DURATION', 60), // in minutes (0 to disable)];
And a basic usage with Prism would look like this:
use Prism\Prism\Prism;use Prism\Relay\Facades\Relay;use Prism\Prism\Enums\Provider; $response = Prism::text() ->using(Provider::Anthropic, 'claude-3-7-sonnet-latest') ->withPrompt('Find information about PrismPHP on the Laravel News website') ->withTools(Relay::tools('puppeteer')) ->asText(); return $response->text;
If you are already familiar with PrismPHP, the key addition here is the ->withTools(Relay::tools('puppeteer'))
, which will instruct Prism that the agent can now use any tools provided by the Puppeteer MCP server, such as navigating to webpages, taking screenshots, clicking buttons, and more.
You can learn more about this package, get full installation instructions, see a real-world example, and view the source code on GitHub.