WyreUP bridges the gap between your automation tools, web browser, and AI agents. Use our Browser Extension for point-and-click workflows, or deploy the MCP Server to expose powerful automations to any LLM-compatible system.
π Now available on NPM! A production-ready Model Context Protocol (MCP) server that transforms webhook endpoints from automation platforms (n8n, Make.com, Zapier, FlowiseAI, etc.) into reliable, agent-callable tools for any MCP-compatible AI system. Built with enterprise-grade features including smart retry logic, rate limiting, health monitoring, and comprehensive authentication support.
Transform any HTTP webhook into an MCP tool that AI agents can use reliably. Define your automation endpoints in a simple JSON manifest, and the server handles authentication, retries, rate limiting, health monitoring, and error handling automatically. Compatible with Claude Desktop, VS Code extensions, and any MCP-compatible system.
Uses official MCP SDK (v1.12.0+) with full STDIO and SSE transport support. Features JSON Schema validation with Zod, rich error handling, built-in monitoring tools (health-check, rate-limit-status), and hot reload. Supports all HTTP methods, binary data handling, environment variables, external secrets in ~/.wyreup-secrets/
, and per-tool timeouts perfect for slow automations.
Start sharing and scaling your automation power today β connect workflows to external agents, interface layers, or marketplace-like tools with a single config file.
npx wyreup-mcp --init
Initialize manifest
npx wyreup-mcp --validate
Validate config
npx wyreup-mcp
Start MCP server (STDIO)
--transport sse --port 3333
)
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"wyreup": {
"command": "npx",
"args": ["wyreup-mcp"],
"cwd": "/path/to/your/project"
}
}
}
WyreUP MCP Server v0.2.6 is officially available on NPM
Integrate your web browsing directly with your automation workflows. Save time, reduce manual work, and act on information instantly.
Right-click any page elementβtext, links, imagesβto send data directly to your configured webhooks. No more copy-pasting!
Connect to n8n, Make.com, Zapier, or any custom webhook. Configure multiple workflows and trigger them with ease.
Automate follow-up actions. For example, automatically copy results from your workflow (like a summary or generated text) to your clipboard.
Imagine the possibilities when your browser and AI agents can seamlessly trigger your custom workflows. WyreUP makes it simple.
Claude Desktop or any MCP client calls your tools using the standard MCP protocol:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "summarize_content",
"arguments": {
"url": "https://example.com/article",
"max_words": 150
}
},
"id": 1
}
WyreUP MCP Server includes automatic monitoring tools that don't require configuration:
Test individual webhook endpoints for availability and response time
Get success rates and performance metrics for all your tools
Monitor rate limiting usage and remaining quotas
Test your wyreup-mpc server with these example tools! These endpoints will be served from https://wyreup.com/tools-mock/
.
This is an example of a wyreup.json
manifest file that defines tools with enterprise features.
The MCP server uses this manifest to register tools with proper JSON Schema validation, authentication, rate limiting, and error handling.
wyreup.json
:{
"tools": [
{
"name": "summarize_content",
"description": "AI-powered content summarization",
"url": "https://n8n.company.com/webhook/summarize",
"method": "POST",
"timeout": 30000,
"maxRetries": 3,
"retryDelay": 1000,
"rateLimit": {
"requests": 10,
"window": 60000
},
"input": {
"type": "object",
"properties": {
"url": { "type": "string", "description": "URL to summarize" },
"max_words": { "type": "integer", "default": 150 }
},
"required": ["url"]
},
"output": {
"type": "object",
"properties": {
"summary": { "type": "string" },
"word_count": { "type": "integer" }
}
},
"auth": {
"type": "header",
"name": "X-API-Key",
"valueFromEnv": "SUMMARIZE_API_KEY"
}
},
{
"name": "get_quote",
"description": "Get an inspirational quote",
"url": "https://wyreup.com/tools-mock/random-quote",
"method": "GET",
"timeout": 15000,
"input": {},
"output": {
"type": "object",
"properties": {
"quote": { "type": "string" }
}
}
}
]
}
Returns a random inspirational quote.
wyreup.json
:{
"name": "random_quote",
"description": "Returns a random inspirational quote.",
"input": {},
"output": {
"quote": "string",
"author": "string"
},
"url": "https://wyreup.com/tools-mock/random-quote",
"method": "GET"
}
{
"tool_name": "random_quote",
"arguments": {}
}
Returns the current server time in ISO 8601 UTC format.
wyreup.json
:{
"name": "current_time_utc",
"description": "Returns the current server time in ISO 8601 UTC format.",
"input": {},
"output": {
"currentTimeISO": "string"
},
"url": "https://wyreup.com/tools-mock/current-time",
"method": "GET"
}
{
"tool_name": "current_time_utc",
"arguments": {}
}
Echoes back the JSON body you send. (Test with Agent/cURL)
wyreup.json
:{
"name": "echo_message",
"description": "Echoes back the JSON body. Expects 'message' and 'detail'.",
"input": {
"message": "string",
"detail": "string"
},
"output": {
"received_message": "string",
"received_detail": "string",
"timestamp": "string"
},
"url": "https://wyreup.com/tools-mock/echo",
"method": "POST"
}
{
"tool_name": "echo_message",
"arguments": {
"message": "Hello from agent!",
"detail": "This is a test call."
}
}
Always returns a 500 error. (Test with Agent/cURL)
wyreup.json
:{
"name": "trigger_server_error",
"description": "A tool that intentionally returns a 500 server error.",
"input": {
"optional_message": "string"
},
"output": {
"error": "string",
"details": "string"
},
"url": "https://wyreup.com/tools-mock/error",
"method": "POST"
}
{
"tool_name": "trigger_server_error",
"arguments": {
"optional_message": "Triggering an error for test."
}
}
Returns a base64 encoded 1x1 transparent PNG.
wyreup.json
:{
"name": "generate_placeholder_image",
"description": "Returns a base64 encoded 1x1 transparent PNG.",
"input": {
"width": "integer (optional, default 1)",
"height": "integer (optional, default 1)"
},
"output": {
"image_base64": "string",
"format": "string"
},
"url": "https://wyreup.com/tools-mock/generate-image",
"method": "GET"
}
{
"tool_name": "generate_placeholder_image",
"arguments": {}
}
Returns a base64 encoded WAV audio file (approx. 10s).
wyreup.json
:{
"name": "generate_placeholder_audio",
"description": "Returns a base64 encoded WAV audio file (approx. 10s).",
"input": {
"duration_seconds": "integer (optional, default 10)"
},
"output": {
"audio_base64": "string",
"format": "string",
"duration_seconds": "integer"
},
"url": "https://wyreup.com/tools-mock/generate-audio",
"method": "GET"
}
{
"tool_name": "generate_placeholder_audio",
"arguments": {}
}
The WyreUP Browser Extension is built using Manifest V3, adhering to Google Chrome's latest standards for security, privacy, and performance.
We request only the permissions essential for functionality: `contextMenus`, `storage` (local), `scripting`, `tabs`, `offscreen` (for clipboard), and `notifications`.
WyreUP acts as your personal bridge. The Extension sends data from your browser directly to *your* configured webhooks. The MCP Server runs on *your* machine or server, processing *your* `wyreup.json` and proxying to *your* automation endpoints. We don't see or store your operational data.
Your configurations and data flows are under your control. For full transparency, please read our Privacy Policy.