Blocks
MCP Server
Create and manage Model Context Protocol servers
Create, configure, and manage MCP servers that expose resources, tools, and prompts to LLM applications.
Block Preview
MCP Server
Create and manage Model Context Protocol servers
Usage
- Add the block to your workflow and connect it to the upstream step.
- Configure any required credentials or tokens in the inputs.
- Fill in required inputs and optional parameters for the run.
- Run a test execution, inspect outputs, and iterate before deploying.
- Deploy the mcp_server block with monitoring enabled in production.
Inputs (UI)
Operation
dropdownLayout: full
Options: Create Server, Start Server, Stop Server, Add Resource
Server Name
short-inputPlaceholder: my-mcp-server
Layout: half
Condition: operation = ["create_server","start_server","stop_server","add_resource","add_tool","add_prompt"]
Server Version
short-inputPlaceholder: 1.0.0
Layout: half
Condition: operation = "create_server"
Transport
dropdownLayout: half
Condition: operation = ["create_server","start_server"]
Options: Streamable HTTP, stdio
Port
short-inputPlaceholder: 3000
Layout: half
Condition: operation = ["create_server","start_server"] AND transport = "streamable-http"
Resource Template
short-inputPlaceholder: resource://{param1}/{param2}
Layout: full
Condition: operation = "add_resource"
Resource Handler (JavaScript)
codePlaceholder: async (uri, params) => { return { contents: [{ uri: uri.href, text: `Resource content for ${params.param1}` }] }; }
Layout: full
Condition: operation = "add_resource"
Tool Name
short-inputPlaceholder: my-tool
Layout: half
Condition: operation = "add_tool"
Tool Schema (JSON)
codePlaceholder: { "param1": "string", "param2": "number" }
Layout: full
Condition: operation = "add_tool"
Tool Handler (JavaScript)
codePlaceholder: async ({ param1, param2 }) => { return { content: [{ type: "text", text: `Result: ${param1} ${param2}` }] }; }
Layout: full
Condition: operation = "add_tool"
Prompt Name
short-inputPlaceholder: my-prompt
Layout: half
Condition: operation = "add_prompt"
Prompt Schema (JSON)
codePlaceholder: { "param1": "string", "param2": "string" }
Layout: full
Condition: operation = "add_prompt"
Prompt Template (JavaScript)
codePlaceholder: ({ param1, param2 }) => ({ messages: [{ role: "user", content: { type: "text", text: `Process this: ${param1} and ${param2}` } }] })
Layout: full
Condition: operation = "add_prompt"
Inputs (API)
operation
stringRequired
serverName
stringOptional
serverVersion
stringOptional
transport
stringOptional
port
numberOptional
resourceTemplate
stringOptional
resourceHandler
stringOptional
toolName
stringOptional
toolSchema
jsonOptional
toolHandler
stringOptional
promptName
stringOptional
promptSchema
jsonOptional
promptTemplate
stringOptional
Outputs
Primary response type:
{
"success": "boolean",
"serverId": "string",
"serverUrl": "string",
"error": "string"
}