Skip to main content

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

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

Metadata

Release files for ntro-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ntro-mcp 0.1.0
File Size Uploaded Provenance
ntro_mcp-0.1.0.tar.gz 10.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ntro-mcp 0.1.0
File Interpreter ABI Platform
ntro_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.2 kB

Release files / ntro_mcp-0.1.0.tar.gz

Download URL ntro_mcp-0.1.0.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
aa9e11ce72014f76b99a6b9351515c804deeb3769e2a5fe0347fffa02e7e6730
BLAKE2b-256 checksum
How to use checksums
96fe98f9d94e17f5c7013ce00244565e7157ebb2f6d126787379c7f58335cbc6
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / ntro_mcp-0.1.0-py3-none-any.whl

Download URL ntro_mcp-0.1.0-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
58b64b1e6b0e00e1dce7063ea95c13e6eaf6d1be7536202a3438b242174d5aff
BLAKE2b-256 checksum
How to use checksums
a6db397c0a65e1abea26503f19616610ba3d1feebe738b499e5a13ef1b8be007
Upload date
Uploaded using Trusted Publishing?
What is 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}

Security for ntro-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page