MCP server for AI agents

Forty tools,
one binary.

File ops, image processing, PDF, web, data transforms, workflow orchestration. Everything your agent needs ships in a single zero-config binary.

$npx userelay
relay status

    
One server, every capability
In action

See it
work.

Scroll through real tool executions. Each card is one agent call to Relay.

image resize
// Agent resizes a hero image for OG
relay.image_resize({
  path: "hero.png",
  width: 1200, height: 630,
  format: "webp"
})
-> hero.webp (42kb, 1200x630)
pdf extract
// Pull text from a contract
relay.pdf_extract_text({
  path: "contract.pdf",
  pages: [1, 2, 3]
})
-> 2,847 words extracted
data transform
// Convert analytics export
relay.data_csv_to_json({
  path: "metrics.csv",
  output: "metrics.json"
})
-> 1,204 rows converted
web fetch
// Scrape documentation
relay.web_fetch({
  url: "https://api.stripe.com/docs",
  format: "markdown"
})
-> 48kb markdown returned
file hash
// Verify release binary
relay.file_hash({
  path: "relay_0.3.0_linux_amd64",
  algorithm: "sha256"
})
-> a7f3c2...9e1b04
workflow
// Full research pipeline
relay.run_workflow({
  session: "launch-prep",
  stages: ["research","brand","ux","gtm"]
})
-> 4/4 stages complete (12m 34s)
Capabilities

Everything
built in.40

No plugins. No config files. No Docker. Every tool compiles into the binary.

File

  • read
  • write
  • list
  • size
  • hash
  • zip
  • unzip

Image

  • info
  • resize
  • crop
  • convert
  • rotate
  • grayscale
  • flip

PDF

  • info
  • page count
  • extract text
  • extract pages
  • merge
  • split

Data

  • csv to json
  • json to csv
  • format json
  • query json

Text

  • word count
  • replace
  • regex extract
  • base64 encode
  • base64 decode
  • md to html

Web

  • fetch
  • status

Workflow

  • run workflow
  • PM plan
  • research
  • brand
  • UX
  • GTM
  • approval
  • assemble

Works with

Claude DesktopCursorVS CodeWindsurfContinue.devClineAny MCP Client Claude DesktopCursorVS CodeWindsurfContinue.devClineAny MCP Client
Setup

Running in
ten seconds.

Claude Desktop

claude_desktop_config.json

{
  "mcpServers": {
    "relay": {
      "command": "npx",
      "args": ["-y", "userelay"]
    }
  }
}

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "relay": {
      "command": "npx",
      "args": ["-y", "userelay"]
    }
  }
}

HTTP mode

any MCP client

$ npx userelay --http :8080

# connect your client to
http://localhost:8080/mcp