Get the FREE Ultimate OpenClaw Setup Guide →

chuk

MCP server from IBM/chuk-mcp-server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio ibm-chuk-mcp-server uvx chuk-mcp-server

How to use

ChukMCPServer is a Python-based MCP server framework designed for fast, decorator-driven construction of Model Context Protocol servers. With Chuk, you decorate Python functions as tools, resources, prompts, or authentication guards, and then expose them via a minimal run() call. The server automatically handles typing-based schema generation, OpenAPI exposure, and transport options (STDIO and optional HTTP streams). You can build production-ready MCP services quickly, and leverage Cloud deployment detection to run on GCP, AWS, Azure, or Vercel without changing your code.

Once your server is running, you can invoke tools through the defined Python APIs or use Claude Desktop integrations to access your tools in Claude.ai. The framework also includes features like OAuth 2.1 built-in authentication, structured outputs, and automated OpenAPI documentation at /openapi.json, making it straightforward to integrate with clients and UI tools.

Examples include creating simple tools like add(a: int, b: int) -> int, exposing resources to fetch configuration, and building multi-tool compositions that can combine local Python modules and remote MCP servers via STDIO or HTTP transports.

How to install

Prerequisites:

  • Python 3.9+ installed on your system
  • Router/terminal access to install Python packages

Installation steps:

  1. Create a virtual environment (optional but recommended): python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate

  2. Install the Chuk MCP Server package (basic): pip install chuk-mcp-server

  3. (Optional) Install extra features, e.g., Google Drive OAuth support: pip install chuk-mcp-server[google_drive]

  4. (Optional) If you plan to scaffold with uvx and run via CLI, ensure uvx is available: pip install uvx # If you don’t already have uvx in your toolchain

  5. Verify installation by running a minimal hello server (example from README): python -c "from chuk_mcp_server import tool, run; @tool def greet(name: str) -> str: return f'Hello {name}!'; run()"

Additional notes

Tips and common issues:

  • If you enable OAuth protections with @requires_auth, ensure you configure your OAuth provider and tokens as described in the OAuth docs.
  • When using Claude Desktop integration, you can auto-register servers by passing the appropriate flags during scaffolding (see the README examples).
  • For HTTP transport, you can enable an HTTP server by following the HTTP mode examples in the docs (the framework supports STDIO and HTTP streams).
  • OpenAPI documentation is auto-generated at /openapi.json; you can point your clients to this endpoint for client generation.
  • If you encounter transport errors, verify your environment path and that the uvx or corresponding launcher is correctly installed and accessible in your shell.

Related MCP Servers

Sponsor this space

Reach thousands of developers