Skip to main content
Nika ships an embedded MCP server catalog aligned with the official MCP Registry schema (v2025-12-11). Each entry declares one or more local-install packages (npm / pypi / oci / cargo / mcpb) and/or remotes (streamable-http / sse endpoints). The workflow YAML invoke: verb references servers by id: Nika handles the rest. Count the live set from the engine source — do not freeze a number here.
Canonical source: crates/nika-catalog/data/mcp-servers.toml. Schema: nika/mcp-servers@1.0. Build-time invariants (enforced in build.rs): unique ids, packages+remotes non-empty, known category, pricing ∈ , alias non-collision.

Overview

Servers

Engine catalog · count the source

Categories

17: from anthropic to vectordb

Invocation

invoke.tool: mcp:<server>/<tool>

Invoke a configured local server

A catalog entry is a discovery record, not an installed server. Save these files in one project. This example uses a local filesystem server, needs no MCP API key, and gives it access only to ./data.
.nika/mcp_servers.json
workflow.nika
Install the server package in this project, create data/article.txt, then check the workflow. The checker validates the declared server; a successful check does not attest a server installation or handshake. Inspect the installed server before running it. Nika records its tool definitions at the first handshake; subsequent drift requires review. mock/echo keeps model calls offline and echoes the prompt; choose a configured language model for an actual summary.
The MCP child environment is scrubbed. A catalog’s credential names do not automatically reach a server process, and arbitrary env entries in this registry are not a supported credential transport. Configure a server’s supported authentication before selecting a remote service.

By category

Shipped by the Model Context Protocol project itself.One-liners:
  • filesystem: read and write local files with path-based access control.
  • memory: persistent key/value memory store.
  • pdf: PDF text + structure extraction.

Distribution mix

Most catalog entries ship as npm packages (stdio via npx). A few use other registries — pypi (qdrant, via uvx), oci (grafana, a Go binary in a container image), and a pure remote endpoint (intercom, OAuth streamable-http). Count the live mix in mcp-servers.toml; do not freeze it here. The catalog’s registry_type field is validated at build time: runner is required for pypi packages and forbidden for every other registry type.

Authentication

Every server that needs credentials declares at least one [[servers.env_vars]] entry with is_secret = true or false. The env var names are visible in mcp-servers.toml. Search for ^name = under your chosen server.
Nika never stores API tokens in workflow YAML. Secrets are read from environment variables at run time. Use nika doctor to see which provider variables are present or missing; it reports presence only and never prints values.

See also

Verbs

How invoke: routes to MCP tools + built-ins at runtime.

Builtins

The engine-native tools under nika:*.

Providers catalog

LLM providers for the infer: and agent: verbs.

Error codes

MCP errors: the spec’s NIKA-MCP namespace (NIKA-MCP-001 server unreachable · NIKA-MCP-002 call failed); the engine’s internal diagnostics registry stays engine-side.