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.

Back to Catalog
MCPmcp_server

Block Preview

MCP Server

Create and manage Model Context Protocol servers

Usage

  1. Add the block to your workflow and connect it to the upstream step.
  2. Configure any required credentials or tokens in the inputs.
  3. Fill in required inputs and optional parameters for the run.
  4. Run a test execution, inspect outputs, and iterate before deploying.
  5. Deploy the mcp_server block with monitoring enabled in production.

Inputs (UI)

Operation

dropdown

Layout: full

Options: Create Server, Start Server, Stop Server, Add Resource

Server Name

short-input

Placeholder: my-mcp-server

Layout: half

Condition: operation = ["create_server","start_server","stop_server","add_resource","add_tool","add_prompt"]

Server Version

short-input

Placeholder: 1.0.0

Layout: half

Condition: operation = "create_server"

Transport

dropdown

Layout: half

Condition: operation = ["create_server","start_server"]

Options: Streamable HTTP, stdio

Port

short-input

Placeholder: 3000

Layout: half

Condition: operation = ["create_server","start_server"] AND transport = "streamable-http"

Resource Template

short-input

Placeholder: resource://{param1}/{param2}

Layout: full

Condition: operation = "add_resource"

Resource Handler (JavaScript)

code

Placeholder: async (uri, params) => { return { contents: [{ uri: uri.href, text: `Resource content for ${params.param1}` }] }; }

Layout: full

Condition: operation = "add_resource"

Tool Name

short-input

Placeholder: my-tool

Layout: half

Condition: operation = "add_tool"

Tool Schema (JSON)

code

Placeholder: { "param1": "string", "param2": "number" }

Layout: full

Condition: operation = "add_tool"

Tool Handler (JavaScript)

code

Placeholder: async ({ param1, param2 }) => { return { content: [{ type: "text", text: `Result: ${param1} ${param2}` }] }; }

Layout: full

Condition: operation = "add_tool"

Prompt Name

short-input

Placeholder: my-prompt

Layout: half

Condition: operation = "add_prompt"

Prompt Schema (JSON)

code

Placeholder: { "param1": "string", "param2": "string" }

Layout: full

Condition: operation = "add_prompt"

Prompt Template (JavaScript)

code

Placeholder: ({ param1, param2 }) => ({ messages: [{ role: "user", content: { type: "text", text: `Process this: ${param1} and ${param2}` } }] })

Layout: full

Condition: operation = "add_prompt"

Inputs (API)

operation

string

Required

serverName

string

Optional

serverVersion

string

Optional

transport

string

Optional

port

number

Optional

resourceTemplate

string

Optional

resourceHandler

string

Optional

toolName

string

Optional

toolSchema

json

Optional

toolHandler

string

Optional

promptName

string

Optional

promptSchema

json

Optional

promptTemplate

string

Optional

Outputs

Primary response type:

{
  "success": "boolean",
  "serverId": "string",
  "serverUrl": "string",
  "error": "string"
}

Tool Access

mcp_server
MCP Server | NowFlow Blocks