Skip to main content
Version: Current

MCP servers - scenarios as MCP tools

The MCP item in the side menu (the page titled Model Context Protocol servers, at /mcp) is where you publish Request-Response scenarios as tools of an MCP server that Nussknacker hosts. AI agents and LLM clients that speak MCP - Claude, Cursor, your own agents, or the AI Agent component of another Nussknacker instance - connect to that server and call your scenarios as tools.

note

This is Nussknacker acting as an MCP server. The opposite direction - an AI Agent in your scenario calling the tools of an external MCP server - is configured in Integrations, as an MCP Server integration. The two are independent: an instance can use either, both or neither.

Creating an MCP server​

Click Create new MCP and fill in:

FieldDescription
MCP nameName of the server. It becomes the last segment of its endpoint URL.
AuthenticationNONE, BASIC (a username and a password) or BEARER (a token). A client has to send the matching credentials with every request.
Request-response scenariosThe scenarios published as tools. A scenario marked not deployed is not offered to clients until it is deployed; missing means it is gone.

Endpoint details show what to give to the client:

  • Endpoint URL - https://<your Nussknacker host>/api/custom/mcp/<MCP name>; the client sends MCP JSON-RPC requests (initialize, tools/list, tools/call) to it with HTTP POST.
  • Custom HTTP headers - the credentials, in the X-Mcp-Authorization header (Basic ... or Bearer ...). Without that header, the standard Authorization header is checked instead.

Expand the tools preview to see the tools exactly as a client will list them.

How a scenario becomes a tool​

Only deployed Request-Response scenarios can be tools. A call to the tool calls the scenario through its HTTP endpoint and returns the scenario's response.

ScenarioMCP tool
NameTool name derived from the scenario name (see normalization below)
Description (scenario properties)Tool description; without one, the tool is described as Request-response scenario: <name>
Input schemaTool input schema
SlugTool title

Tool names keep letters, digits, _ and -; other characters become _. Consecutive underscores collapse into one, and leading and trailing underscores are removed. If nothing remains, the name is scenario_tool. For example, __Order lookup!__ becomes Order_lookup, and !!! becomes scenario_tool. Names are case-sensitive; letters are not lowercased.

The tool description is what the model reads when it decides whether to call the tool, and the input schema is what it has to fill in. Describe the scenario business-first: what question it answers and what it needs, not how it is built.

Configuration​

The Designer calls the scenarios through the Request-Response runtime configured under mcp.requestResponse in the Designer configuration: baseUrl (default http://localhost:8181/), optional basic auth, and timeout (default 30 seconds) for a single tool call.