Relay
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Relayadd the GitHub OpenAPI spec to my catalog"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Relay is an open-source runtime that unifies your integrations — OpenAPI, GraphQL, MCP, and Google Discovery — into a single tool catalog. Connect once, use everywhere: from Claude Code and Cursor to custom agents built with the SDK.
Architecture
Related MCP server: executor
Quick Start
npm install -g relay
relay webOpens a local runtime with a web UI at http://127.0.0.1:4788. Add your first source and start using tools.
Use as an MCP Server
Point any MCP-compatible agent at Relay to share your tool catalog, auth, and policies across all of them.
relay mcpExample mcp.json for Claude Code / Cursor:
{
"mcpServers": {
"relay": {
"command": "relay",
"args": ["mcp"]
}
}
}SDK
Three entry points — pick the one that fits:
Import | Use case |
| Promise-based. Scripts, quick integrations, non-Effect codebases. |
| Effect-native. Full type safety, streaming, composable pipelines. |
| Mocks and utilities for writing tests against your tools. |
import { createRelay } from "@relay-sh/sdk";
const relay = await createRelay();
await relay.openapi.addSpec({
url: "https://petstore3.swagger.io/api/v3/openapi.json",
});
const tools = await relay.tools.list();
console.log(tools);
await relay.close();Adding Sources
Relay has first-party support for OpenAPI, GraphQL, MCP, and Google Discovery. The plugin system is open to any source type.
Web UI
Open http://127.0.0.1:4788 → Add Source → paste a URL. Relay detects the type, indexes tools, and handles auth.
CLI
relay call relay openapi addSource '{
"spec": "https://petstore3.swagger.io/api/v3/openapi.json",
"namespace": "petstore",
"baseUrl": "https://petstore3.swagger.io/api/v3"
}'Using Tools
Programmatic
const matches = await tools.discover({ query: "github issues", limit: 5 });
const detail = await tools.describe.tool({
path: matches.bestPath,
includeSchemas: true,
});
const issues = await tools.github.issues.list({
owner: "vercel",
repo: "next.js",
});CLI
relay tools search "send email"
relay call github issues create '{"owner":"octocat","repo":"Hello-World","title":"Hi"}'
relay call gmail send '{"to":"alice@example.com","subject":"Hi"}'If an execution pauses for auth or approval:
relay resume --execution-id exec_123CLI Reference
relay web Start runtime + web UI
relay daemon run | status | stop Manage background daemon
relay mcp Start MCP endpoint
relay call <path...> '{"k":"v"}' Invoke a tool by path
relay call <path...> --help Browse namespaces and methods
relay resume --execution-id <id> Resume paused execution
relay tools search "<query>" Search tools by intent
relay tools sources List sources + tool counts
relay tools describe <path> Show tool schemaProject Structure
apps/
cli/ CLI (relay command)
local/ Local runtime server
cloud/ Hosted service
desktop/ Desktop app
marketing/ relay.sh website
packages/
core/
sdk/ Core contracts, plugin wiring, scopes, policies
execution/ Execution engine
config/ Configuration and scope management
storage-*/ Storage adapters
plugins/
openapi/ OpenAPI plugin
graphql/ GraphQL plugin
mcp/ MCP plugin
google-*/ Google Discovery plugin
kernel/
quickjs/ QuickJS sandboxed runtime
deno/ Deno subprocess runtime
ir/ IR compiler
react/ React UI components
hosts/
mcp/ MCP host surfaceDevelopment
bun install
bun run devDev server starts at http://127.0.0.1:4788.
bun run test # run tests
bun run lint # oxlint
bun run typecheck # type checking
bun run format # oxfmtSee CONTRIBUTING.md for full setup instructions.
License
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/adarshp14/relay'
If you have feedback or need assistance with the MCP directory API, please join our Discord server