1. Conduid
  2. Developer Tools
  3. Kumoctl
MCP server · Developer Tools

Kumoctl

CLI to automatically start an MCP server based on an OpenAPI spec

Unclaimed MIT last commit 10 months ago devtools
51Fair

Scored 2 days ago · breakdown

About Kumoctl

Kumoctl is an MCP server published by kumolabai in the Developer Tools category: cLI to automatically start an MCP server based on an OpenAPI spec. It has been installed 0 times through Conduid.

The repository has 1 stars and 0 forks, with the last commit 10 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx kumoctl

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Kumoctl

Powered by Claude · Grounded in docs

I know everything about Kumoctl. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.0.4v0.0.4 · 29 Oct 2025Changelog f38e3d8 fix: configure command now allows for header configuration
v0.0.3v0.0.3 · 27 Oct 2025Changelog 5bcebd0 fix: make LoadSpec public
v0.0.2v0.0.2 · 18 Oct 2025Changelog 49783e6 feat: New list tool command, additional headers flag and serve from URL c6e805f feat: Serve command now allows for header injection and start from spec URL ce5b7e4 feat(cmd): Add command to list tools 1f0a8d7 chore:…
v0.0.1v0.0.1 · 1 Oct 2025Changelog 8232bfb fix: Add github workflow test and release a5e573f feat: serve from openapi2. Add configure command a635d68 feat: serve MCP from openapi 3 spec 8593044 Initial commit

README

kumoctl

A CLI tool to dynamically serve MCP (Model Context Protocol) servers from OpenAPI specifications. Each operation/path in your OpenAPI spec becomes an MCP tool that can be called by LLM clients like Claude.

Installation

Linux, macOS

curl -fsSL https://get.kumolab.ai | sh

Windows

irm https://get.kumolab.ai/install.ps1 | iex

Usage

Quick Start with Auto-Configuration

The fastest way to get started is using the configure command to automatically set up kumoctl with your LLM client:

# Auto-configure for Claude Desktop
kumoctl configure examples/openapi2-example.json my-api-server

# Preview configuration without installing
kumoctl configure --dry-run examples/openapi3-example.yaml weather-api

# Configure for cursor
kumoctl configure --client=cursor examples/openapi2-example.json my-tools

Manual Usage

# Serve MCP from an OpenAPI spec file or URL
kumoctl serve <path-or-url-to-openapi-spec>

# Examples
kumoctl serve ./examples/openapi2-example.json
kumoctl serve ./examples/openapi3-example.yaml

Command Line Options

# Get help for all commands
kumoctl --help

# Get help for specific commands
kumoctl serve --help
kumoctl configure --help

Commands

kumoctl serve

Starts an MCP server that exposes tools based on your OpenAPI specification.

kumoctl serve <path-to-openapi-spec>

kumoctl configure

Automatically configures kumoctl as an MCP server in your LLM client. This eliminates the need for manual JSON configuration.

kumoctl configure [OPTIONS] <spec-file-or-url> <server-name>

Options:

  • --dry-run: Preview the configuration without installing it
  • --client <client>: Target LLM client (claude-desktop, cursor, custom)
  • --config-path <path>: Custom path to configuration file

Supported Clients:

  • Claude Desktop (default): Automatically adds kumoctl to your Claude Desktop MCP configuration
  • Cursor: Automatically adds kumoctl to Cursor. MCP support in Cursor IDE is Experimental

Examples:

# Configure for Claude Desktop (easiest method)
kumoctl configure examples/openapi2-example.json my-api

# Preview what would be configured
kumoctl configure --dry-run examples/openapi3-example.yaml weather-service

# Get JSON for manual configuration
kumoctl configure --client=custom examples/openapi2-example.json my-tools

What it does:

  1. Locates your LLM client's configuration file
  2. Adds kumoctl with your OpenAPI spec to the MCP servers list
  3. Uses absolute paths to ensure reliability
  4. Preserves existing MCP server configurations
  5. Provides clear next steps (like restarting Claude Desktop)

How It Works

  1. Load OpenAPI Spec: kumoctl reads your OpenAPI 2.0 or 3.0 specification
  2. Generate MCP Tools: Each operation (GET, POST, etc.) becomes an MCP tool
  3. Create Input Schemas: Tool schemas include all parameters (path, query, body)
  4. Handle API Calls: When a tool is called, kumoctl makes HTTP requests to your API
  5. Return Responses: API responses are returned to the MCP client

Tool Naming

Tools are named using the following priority:

  1. operationId (if specified in the spec)
  2. {method}_{path} (cleaned and normalized)

Input Schema Generation

For each operation, kumoctl creates a JSON schema that includes:

  • Path Parameters: Required parameters in the URL path
  • Query Parameters: Optional/required query string parameters
  • Header Parameters: HTTP headers to be sent
  • Body Parameters: Individual fields from request body schemas (properly expanded from $ref)

Example: OpenAPI 2.0 Body Parameter Expansion

OpenAPI Spec:

{
  "paths": {
    "/users": {
      "post": {
        "operationId": "users_create",
        "parameters": [
          {
            "name": "data",
            "in": "body",
            "schema": {"$ref": "#/definitions/UserRequest"}
          }
        ]
      }
    }
  },
  "definitions": {
    "UserRequest": {
      "type": "object",
      "required": ["name", "email"],
      "properties": {
        "name": {"type": "string"},
        "email": {"type": "string", "format": "email"},
        "age": {"type": "integer"}
      }
    }
  }
}

Generated MCP Tool Schema:

{
  "type": "object",
  "required": ["name", "email"],
  "properties": {
    "name": {"type": "string"},
    "email": {"type": "string", "format": "email"},
    "age": {"type": "integer"}
  }
}

Limitations and Considerations

LLM Context Limits

⚠️ Large OpenAPI Specifications: If your OpenAPI spec is very large (hundreds of operations), the generated MCP tools may exceed LLM context limits.

Current Limitations

  1. Authentication: Currently no built-in authentication support
  2. Response Schemas: Tool outputs are raw HTTP responses
  3. Error Handling: HTTP errors are returned as-is
  4. Base URL Resolution: Uses the first server URL found in the spec
    • OpenAPI 2.0: Constructs from host, basePath, and schemes
    • OpenAPI 3.0: Uses first entry in servers array
  5. STDIO Transport ONLY: kumoctl only support STDIO transport for now

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new functionality
  4. Ensure all tests pass
  5. Submit a pull request

README mirrored from the source repository 2 days ago. The original is authoritative.

Questions

About Kumoctl

How do I install Kumoctl?

Run npx kumoctl, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Kumoctl safe to use with an AI agent?

Its trust score is 51 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Kumoctl still maintained?

The last commit was 10 months ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.