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.
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:
| Field | Description |
|---|---|
| MCP name | Name of the server. It becomes the last segment of its endpoint URL. |
| Authentication | NONE, BASIC (a username and a password) or BEARER (a token). A client has to send the matching credentials with every request. |
| Request-response scenarios | The 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 HTTPPOST. - Custom HTTP headers - the credentials, in the
X-Mcp-Authorizationheader (Basic ...orBearer ...). Without that header, the standardAuthorizationheader 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.
| Scenario | MCP tool |
|---|---|
| Name | Tool 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 schema | Tool input schema |
| Slug | Tool 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.