WyreUP MCP Manifest (`wyreup.json`)
Introduction
The wyreup.json manifest file is the heart of your WyreUP MCP Server. It defines the tools your server exposes, how they are called, and how they connect to your underlying automation workflows (e.g., n8n webhooks, FlowiseAI endpoints, custom scripts).
This document outlines the structure and available fields for configuring your manifest.
Example Manifest
Here's a basic example of a wyreup.json file:
{
"tools": [
{
"name": "summarize_content",
"description": "AI-powered content summarization with enterprise-grade reliability",
"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": "notify_team",
"description": "Send notifications to team channels",
"url": "https://hooks.zapier.com/hooks/catch/slack-notify",
"method": "POST",
"timeout": 15000,
"rateLimit": { "requests": 30, "window": 60000 },
"input": {
"type": "object",
"properties": {
"channel": { "type": "string", "description": "#channel-name" },
"message": { "type": "string" },
"priority": {
"type": "string",
"enum": ["low", "normal", "high"],
"default": "normal"
}
},
"required": ["channel", "message"]
},
"authFrom": {
"user": "production-user"
}
}
]
}
Top-Level Fields
tools(array, required): An array of tool definition objects. Each tool must define its own fullurland can optionally define authentication, rate limiting, and reliability features. See "Tool Definition" section below.
Note: The name, description, version, and log_level fields are no longer used in the current version. The manifest structure has been simplified to focus on tool definitions.
Tool Definition
Each object in the tools array defines a single callable tool with enterprise-grade features:
🔧 Core Properties
name(string, required): Unique tool identifier. Must be unique across all tools in the manifest.description(string, required): Detailed description for AI agents to understand usage.url(string, required): Full webhook/API endpoint URL. Environment variable interpolation supported.method(string, optional): HTTP method (GET, POST, PUT, PATCH, DELETE). Defaults to "POST".
🚀 Enterprise Reliability
timeout(number, optional): Request timeout in milliseconds. Default: 30000.maxRetries(number, optional): Maximum retry attempts for failed requests. Default: 3.retryDelay(number, optional): Base delay between retries in milliseconds. Uses exponential backoff. Default: 1000.rateLimit(object, optional): Rate limiting configuration:requests: Number of requests allowedwindow: Time window in milliseconds
📝 Schema Validation
input(object, optional): JSON Schema for input validation with Zod.output(object, optional): JSON Schema describing expected output structure.
🔐 Authentication & Security
auth(object, optional): Direct authentication configuration. See "Authentication" section.authFrom(object, optional): External authentication reference:user: Reference to credentials in~/.wyreup-secrets/<user>.json
Authentication & Security
WyreUP MCP Server supports multiple authentication methods with flexible credential management:
🔑 Header Authentication
Send custom HTTP headers for authentication:
type: "header"name: Header name (e.g., "X-API-Key")value: Direct header valuevalueFromEnv: Environment variable name
"auth": {
"type": "header",
"name": "X-API-Key",
"valueFromEnv": "API_KEY"
}
🛡️ JWT Bearer Token
Standard JWT authentication with Authorization header:
type: "jwt"token: Direct JWT tokentokenFromEnv: Environment variable containing JWT
"auth": {
"type": "jwt",
"tokenFromEnv": "JWT_TOKEN"
}
📁 External Secrets
Store credentials in separate files for enhanced security:
- Create
~/.wyreup-secrets/<user>.json - Reference with
authFrom: { "user": "production-user" }
// ~/.wyreup-secrets/production-user.json
{
"type": "header",
"name": "Authorization",
"value": "Bearer production-secret-key"
}
🔧 Environment Variables
Use .env files or system environment variables:
# .env file
API_KEY=your-secret-key
JWT_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
🔒 Security Best Practices: Always use valueFromEnv, tokenFromEnv, or external secrets for production deployments. Direct credential embedding should only be used for development and testing.
📝 JSON Schema Validation
The input and output fields use standard JSON Schema with Zod validation for robust type checking and error handling.
Input Schema (input)
Defines and validates the parameters a tool accepts:
type: Data type (string, integer, boolean, number, array, object)description: Clear parameter explanation for AI agentsdefault: Default value if not providedenum: Array of allowed valuesrequired: Array of mandatory parameter names
Output Schema (output)
Documents the expected response structure for AI agents and debugging:
"output": {
"type": "object",
"properties": {
"summary": { "type": "string" },
"word_count": { "type": "integer" },
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
}
}
💡 Validation Benefits: Zod validation provides immediate feedback on malformed requests, helping debug integration issues and ensuring reliable tool execution.
🔍 Built-in Monitoring Tools
WyreUP MCP Server automatically provides monitoring tools (no configuration required):
health-check: Test individual webhook endpoints for availability and response timehealth-status: Get success rates and performance metrics for all your toolsrate-limit-status: Monitor rate limiting usage and remaining quotas
These tools are automatically available to AI agents and can be called just like your custom tools.
📦 Current Version: v0.2.6
For the latest features, updates, and examples, visit: