North MCP Python SDK MCP Server

An sdk for creating MCP Servers with north

Local serverstdioPython

What is the North MCP Python SDK MCP server?

Connect North MCP Python SDK to Claude, Cursor or any other MCP client and it stops being a tab you switch to. An sdk for creating MCP Servers with north. The north mcp python sdk mcp server is what makes that connection.

What the server does

This SDK builds on top of the original SDK. Please refer to the original repository's README for general information. This README focuses on North-specific details.

Installation

@modelcontextprotocol/inspector on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • Built — in health check** endpoint for Kubernetes liveness probes (enabled by default)
  • Command — uv
  • Arguments — run examples/server_with_auth.py --transport stdio
  • URLhttp://localhost:5222/mcp
  • Authentication — > Bearer token: eyJzZXJ2ZXJfc2VjcmV0IjogInNlcnZlcl9zZWNyZXQiLCAidXNlcl9pZF90b2tlbiI6ICJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKbGJXRnBiQ0
  • Helper — Purpose
  • TelemetryConfig — Opt-in config object for the telemetry integration (sensitive-data policy, log/trace correlation)
  • mcp.telemetry.traced_span — Custom spans nested under FastMCP tool spans, driven by the server's TelemetryConfig. Use this when you have mcp in scope
  • Depends — Re-export of FastMCP's Depends factory. Combine with get_telemetry_config for FastAPI-style parameter injection: telemetry: TelemetryConfig =
  • get_tracer — Re-export of FastMCP's tracer (fastmcp instrumentation name)
  • TraceContextFormatter — Appends trace_id / span_id to log lines on the NorthMCP.{name} logger when a span is active
  • record_sensitive_data — False

Credentials and setup notes

Configuration is passed through the environment: DEBUG. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

To contribute to this project, you'll need: - Python 3.11+: Required for the SDK - uv >= 0.8.13: Used for dependency management, formatting, and CI checks

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch North MCP Python SDK.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Where it fits

Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. North MCP Python SDK's toolset — Built, Command, Arguments and 11 more — is a fair guide to whether it matches your workflow. It is maintained by cohere-ai; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Available tools

ToolWhat it does
Builtin health check** endpoint for Kubernetes liveness probes (enabled by default).
Commanduv
Argumentsrun examples/server_with_auth.py --transport stdio
URLhttp://localhost:5222/mcp
Authentication> Bearer token: eyJzZXJ2ZXJfc2VjcmV0IjogInNlcnZlcl9zZWNyZXQiLCAidXNlcl9pZF90b2tlbiI6ICJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKbGJXRnBiQ0k2SW5SbGMzUkFZMjl0Y0dGdWVTNWpiMjBpZlEuV0pjckVUUi1MZnFtX2xrdE9vdjd0Q1kt
HelperPurpose
TelemetryConfigOpt-in config object for the telemetry integration (sensitive-data policy, log/trace correlation)
mcp.telemetry.traced_spanCustom spans nested under FastMCP tool spans, driven by the server's TelemetryConfig. Use this when you have mcp in scope.
DependsRe-export of FastMCP's Depends factory. Combine with get_telemetry_config for FastAPI-style parameter injection: telemetry: TelemetryConfig = Depends(get_telemetry_config).
get_tracerRe-export of FastMCP's tracer (fastmcp instrumentation name)
TraceContextFormatterAppends trace_id / span_id to log lines on the NorthMCP.{name} logger when a span is active
record_sensitive_dataFalse
log_trace_contextTrue
Setup1. **Register a TracerProvider and exporters in main before importing NorthMCPServer** (FastMCP reads the global provider at import time). Use your own setup or standard OTel env vars (OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_S

How to install the North MCP Python SDK MCP server

{
  "mcpServers": {
    "north-mcp-python-sdk": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/inspector"],
      "env": {
        "DEBUG": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

To contribute to this project, you'll need: - Python 3.11+: Required for the SDK - uv >= 0.8.13: Used for dependency management, formatting, and CI checks

VariableDescriptionRequired
DEBUGConfiguration value read at startup.Optional

Example prompts to try

  • Use North MCP Python SDK to Built.
  • Use North MCP Python SDK to Command.
  • Use North MCP Python SDK to Arguments.

Frequently asked questions

North is a custom extension to the original MCP specification. This SDK provides code to enable your server to use authentication with North.