Skip to content

mcpo

A simple MCP-to-OpenAPI proxy server.

View the nix-core NixOS module on GitHub.

References

Configuration

You have to provide a package, for example from nix-core.

Setting mcpServers is required. The following example runs a NixOS MCP server using mcp-nixos.

{ inputs, lib, ... }:

{
  imports = [ inputs.core.nixosModules.mcpo ];

  services.mcpo = {
    enable = true;
    package = inputs.core.packages.${pkgs.system}.mcpo;
    settings = {
      mcpServers = {
        nixos = {
          command = lib.getExe inputs.mcp-nixos.packages.${pkgs.system}.mcp-nixos;
        };
      };
    };
  };
}

Usage

Each tool will be accessible under its own unique route 127.0.0.1:8000/<mcp-server>. Following the example from above, visit 127.0.0.1:8000/nixos/docs to send requests manually.

Open WebUI Integration

Follow the official Open WebUI integration documentation starting at Step 2.

In Open WebUI, users have to set Function Calling to Native in Settings > General > Advanced Parameters. Then, they can enable MCP servers in a chat by clicking More (the plus sign) in the bottom left of the prompt window.