Laravel Packages

Prism Relay

Published
Prism Relay image

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.

Yannick Lyn Fatt photo

Staff Writer at Laravel News and Full stack web developer.

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
Securing Filament plugins with Plumb image

Securing Filament plugins with Plumb

Read article
LayaPHP: Self-Hosted Text Classification for PHP and Laravel image

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Read article
WhenMounted and BigInt Props in Inertia.js v3.8 image

WhenMounted and BigInt Props in Inertia.js v3.8

Read article
Postcodes for Laravel: GB Postcode Lookup and Geography Data image

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Read article
Laravel 14 Adds a defaults() Method to Eloquent Models image

Laravel 14 Adds a defaults() Method to Eloquent Models

Read article
Laravel AI SDK and Laravel MCP Security Fixes: Update Now image

Laravel AI SDK and Laravel MCP Security Fixes: Update Now

Read article