Skip to main content

MCP server for the ntro platform — use ntro tools directly from Claude Desktop and claude.ai

Project description

ntro-mcp

MCP (Model Context Protocol) server for the ntro platform. Exposes the Workspace API as tools, resources, and prompts that Claude can call directly — from Claude Desktop, Claude Code, or claude.ai.


What's included

Type Count Examples
Tools 8 ntro_whoami, ntro_tenant_create, ntro_workflow_run
Resources 11 ntro://tenants, ntro://tasks/{id}, ntro://schedule
Prompts 3 onboard_spv, run_nav, platform_status

Installation

Prerequisites

  • Python 3.11+
  • The ntro SDK installed (see ntro-python)
  • The Workspace API running locally or a valid ~/.ntro/config.toml

Development install (local workspace)

# Create a shared venv (once — skip if already done)
uv venv ~/.ntro-dev --python 3.12

# Install the SDK (editable)
uv pip install -e ~/ntropii/ntro-python --python ~/.ntro-dev/bin/python

# Install ntro-mcp (editable)
uv pip install -e ~/ntropii/ntro-mcp --python ~/.ntro-dev/bin/python

Verify:

~/.ntro-dev/bin/ntro-mcp --help

Production install (once published to PyPI)

pip install ntro-mcp

Configuration

The server resolves the API connection in this priority order:

  1. --ntro-host / --ntro-api-key CLI flags
  2. NTRO_HOST / NTRO_API_KEY environment variables
  3. --connection flag → named entry in ~/.ntro/config.toml
  4. default_connection_name in ~/.ntro/config.toml

Example ~/.ntro/config.toml:

default_connection_name = "local"

[connections.local]
host = "http://localhost:3000/v1"
api_key = "ntro_dev_key"

[connections.production]
host = "https://api.ntropii.com/v1"
api_key = "your-api-key-here"

Run ntro auth login (from ntro-cli) to create this file interactively.


Claude Desktop setup (stdio)

This is the recommended transport for local use. Claude Desktop spawns ntro-mcp as a child process and communicates over stdin/stdout.

1. Find your Claude Desktop config file:

OS Path
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows %APPDATA%\Claude\claude_desktop_config.json
Windows (WSL) /mnt/c/Users/<Username>/AppData/Roaming/Claude/claude_desktop_config.json

2. Add the ntro server:

{
  "mcpServers": {
    "ntro": {
      "command": "/home/ollie/.ntro-dev/bin/ntro-mcp",
      "args": ["--transport", "stdio", "--connection", "local"],
      "env": {}
    }
  }
}

Or use explicit env vars instead of a connection name:

{
  "mcpServers": {
    "ntro": {
      "command": "/home/ollie/.ntro-dev/bin/ntro-mcp",
      "args": ["--transport", "stdio"],
      "env": {
        "NTRO_HOST": "http://localhost:3000/v1",
        "NTRO_API_KEY": "ntro_dev_key"
      }
    }
  }
}

3. Restart Claude Desktop. The ntro tools will appear in the tool picker.


Claude Code setup (stdio)

Add to your project's .claude/mcp.json or the global ~/.claude/mcp.json:

{
  "mcpServers": {
    "ntro": {
      "command": "/home/ollie/.ntro-dev/bin/ntro-mcp",
      "args": ["--transport", "stdio", "--connection", "local"]
    }
  }
}

claude.ai setup (Streamable HTTP)

For use with claude.ai, the server must be reachable over HTTPS. Run it locally and tunnel with cloudflared:

# Terminal 1 — start the MCP server
ntro-mcp --transport http --port 8000 --connection local

# Terminal 2 — expose it over HTTPS
cloudflared tunnel --url http://localhost:8000
# → https://random-words.trycloudflare.com

Then in Claude.ai: Settings → Connected Apps → Add MCP Server → paste the tunnel URL.


CLI reference

ntro-mcp [OPTIONS]

Options:
  --transport {http,stdio}    Transport type (default: stdio)
  --port INT                  HTTP port (default: 8000)
  --host TEXT                 HTTP bind host (default: 127.0.0.1)
  -c, --connection TEXT       Connection name from ~/.ntro/config.toml
  --ntro-host TEXT            Workspace API URL (overrides config)
  --ntro-api-key TEXT         API key (overrides config)

Examples:

# Local dev via config file
ntro-mcp --transport stdio --connection local

# Explicit target (no config file needed)
ntro-mcp --transport stdio --ntro-host http://localhost:3000/v1 --ntro-api-key ntro_dev_key

# HTTP server for tunnelling to claude.ai
ntro-mcp --transport http --port 8000 --connection local

# Production
ntro-mcp --transport stdio --connection production

Tool reference

Write tools

Tool Description
ntro_whoami Get current user identity
ntro_integration_create Register a data platform (Databricks, Snowflake)
ntro_integration_test Test connectivity to a data platform
ntro_tenant_create Create a new tenant (client cell)
ntro_entity_create Create an SPV/fund within a tenant
ntro_workflow_create Register a workflow definition
ntro_workflow_deploy Deploy a workflow version to a tenant cell
ntro_workflow_run Trigger a workflow run — returns a task ID

Resources

URI Description
ntro://whoami Current user and workspace info
ntro://integrations All data platform configs
ntro://integrations/{id} Single data platform detail
ntro://integrations/{id}/schemas Schema discovery (Databricks tables)
ntro://tenants All tenants
ntro://tenants/{slug} Single tenant detail
ntro://entities All entities across tenants
ntro://workflows All workflow definitions
ntro://workflows/{id} Workflow detail
ntro://tasks/{id} Task status and step progress
ntro://schedule All tasks sorted by urgency

Prompts

Prompt Description
onboard_spv Guided SPV setup: entity → COA → email → workflow → dry-run test
run_nav Guided monthly NAV execution with progress monitoring
platform_status Full platform overview — tenants, entities, workflows, active tasks

Related packages

Package Description
ntro Python SDK (dependency of this package)
ntro-cli CLI tool — ntro tenant list, ntro workflow run, etc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ntro_mcp-0.1.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ntro_mcp-0.1.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file ntro_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: ntro_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ntro_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 aa9e11ce72014f76b99a6b9351515c804deeb3769e2a5fe0347fffa02e7e6730
MD5 9e97c4591320abc455320b7beb5fd3a8
BLAKE2b-256 96fe98f9d94e17f5c7013ce00244565e7157ebb2f6d126787379c7f58335cbc6

See more details on using hashes here.

File details

Details for the file ntro_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ntro_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ntro_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 58b64b1e6b0e00e1dce7063ea95c13e6eaf6d1be7536202a3438b242174d5aff
MD5 d516669626af282f6c66e99636443f56
BLAKE2b-256 a6db397c0a65e1abea26503f19616610ba3d1feebe738b499e5a13ef1b8be007

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page