Skip to main content

Nexatron MCP server — governed enterprise-data access for Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, and any MCP-compatible AI client. Exposes 12 tools (query, list_connections, get_schema, list_metrics, list_views, search_knowledge_base, detect_schema_drift, test_connection, list_conversations, get_report, get_credit_balance, whoami) and 1 resource (nexatron://platform/info) over the Nexatron REST API with per-tenant isolation and cryptographic audit.

Project description

nexatron-mcp

MCP server for the Nexatron AI Data Intelligence Platform. Ask questions about your enterprise data directly from Claude.

Two ways to connect

  • Hosted endpoint (recommended)https://api.nexatron.io/api/v1/mcp over OAuth 2.1. Nothing to install; exposes the full governed v2 surface (ten data-access tools incl. ask, query_metric, compare_metric_across_sources, plus the governance-contract tools and per-call lineage). MCP-aware clients (claude.ai, Claude Desktop, Cursor) discover it from the registry entry. See docs.nexatron.io/integrations/mcp-reference.
  • Local stdio package (this package)uvx nexatron-mcp, authenticated with an nxa_ API key. A REST-backed subset for self-hosted Nexatron instances and offline-style local use; exposes the tools listed under Available tools below. The two surfaces are versioned independently.

Install

pip install nexatron-mcp
# or
uvx nexatron-mcp

Setup

Claude Desktop

Add to ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "nexatron": {
      "command": "uvx",
      "args": ["nexatron-mcp"],
      "env": {
        "NEXATRON_API_KEY": "nxa_your_api_key",
        "NEXATRON_URL": "https://api.nexatron.io/api/v1"
      }
    }
  }
}

Restart Claude Desktop. You'll see Nexatron tools available.

Claude Code

claude mcp add nexatron -- uvx nexatron-mcp \
  --env NEXATRON_API_KEY=nxa_your_key \
  --env NEXATRON_URL=https://api.nexatron.io/api/v1

Cursor / VS Code

Add to .cursor/mcp.json or VS Code MCP settings:

{
  "mcpServers": {
    "nexatron": {
      "command": "uvx",
      "args": ["nexatron-mcp"],
      "env": {
        "NEXATRON_API_KEY": "nxa_your_key",
        "NEXATRON_URL": "https://api.nexatron.io/api/v1"
      }
    }
  }
}

Environment Variables

Variable Required Default Description
NEXATRON_API_KEY Yes Your Nexatron API key (starts with nxa_)
NEXATRON_URL No http://localhost:8000/api/v1 Nexatron API URL

Available tools (local stdio package)

These are the tools the installable nexatron-mcp stdio package exposes against the Nexatron REST API. The hosted endpoint exposes the broader governed v2 surface described in Two ways to connect.

Tool Description
query Ask questions about your data in plain English
list_connections See all data source connections
list_metrics View certified metrics in the semantic layer
list_views View logical views
get_schema Explore database schemas
test_connection Test data source connectivity
detect_schema_drift Find schema changes
search_knowledge_base Search uploaded documents (RAG)
list_conversations View recent query history
get_report Retrieve a saved report
get_credit_balance Check remaining query credits
whoami Show your user info and organization

Example

After setup, ask Claude:

"Use Nexatron to show me total revenue by product category for Q4"

Claude will call the query tool, which sends your question through Nexatron's AI pipeline and returns the answer with SQL and results.

SSE Transport (Remote)

For remote or web-based MCP clients:

NEXATRON_API_KEY=nxa_... nexatron-mcp --sse --port 8001

Development

git clone https://github.com/sravanmodugula-solved/nexatron
cd nexatron/packages/mcp-server
pip install -e .
nexatron-mcp

License

MIT


Release & registry submission runbook

Merged from the former docs/integrations/mcp-server.md (2026-06 necessity audit) — this README is the natural home for "how to release this package." Status tables below reflect pre-submission state; update as registries are submitted.

1. PyPI — publish nexatron-mcp

The nexatron-mcp Python package is the primary artifact. It must be on PyPI before registry entries link to it, because installation commands reference pip install nexatron-mcp and uvx nexatron-mcp.

Pre-flight checklist

  • All tests pass: cd packages/mcp-server && uv run --with pytest --with pytest-asyncio --with pytest-httpx --with pytest-cov python -m pytest
  • Lint clean: uv run --with ruff ruff check src/ tests/
  • Version in pyproject.toml and src/nexatron_mcp/__init__.py match (currently 1.0.0).
  • CHANGELOG.md has an entry for the version being published.
  • Build artifacts are clean: rm -rf dist/ && uv run --with build python -m build

Publish steps

cd packages/mcp-server

# Build wheel and sdist
uv run --with build python -m build

# Check the dist before upload
uv run --with twine twine check dist/*

# Upload to PyPI (requires PyPI account with push rights to nexatron-mcp)
uv run --with twine twine upload dist/*
# You will be prompted for a PyPI API token (not a username/password).
# Store the token in your password manager, not in any file committed to git.

Alternatively, the GitHub Actions workflow .github/workflows/mcp-publish.yml (tag-triggered on mcp-server-v*) runs this via PyPI trusted publishing (OIDC) without a stored token — preferred for CI — and then publishes server.json to the MCP Registry.

After upload, verify at https://pypi.org/project/nexatron-mcp/.


2. Anthropic MCP Directory (open registry)

The Anthropic open MCP directory is maintained as a GitHub repository at https://github.com/modelcontextprotocol/servers. Listing is via pull request.

What to prepare

The directory uses a YAML entry per server. The proposed entry (ready to copy) is in docs/integrations/anthropic-directory-submission.md section 6. It looks like this:

- name: nexatron
  description: Ask questions about your enterprise data in plain English. AI analytics engine from dotSolved.
  category: data-analytics
  homepage: https://nexatron.io
  source: https://github.com/sravanmodugula-solved/nexatron/tree/main/packages/mcp-server
  package: nexatron-mcp
  install: uvx nexatron-mcp
  license: MIT
  maintainer: dotSolved Systems, Inc.
  maintainer_email: nexatron@dotsolved.com
  supports_remote: true
  remote_manifest: https://api.nexatron.io/.well-known/mcp/server.json
  tags:
    - data
    - analytics
    - bi
    - nl-to-sql
    - semantic-layer
    - enterprise
    - soc2

Submission steps

  1. Fork https://github.com/modelcontextprotocol/servers.
  2. Add the YAML entry above to the appropriate category file (check the repo structure; it likely has a servers/data-analytics/ directory or a top-level servers.yaml).
  3. Open a pull request with the title: Add Nexatron MCP server (nexatron-mcp).
  4. Use the PR description template from docs/integrations/anthropic-directory-submission.md Appendix B.
  5. Assign the PR to a dotSolved engineer to monitor and respond to reviewer comments.

Notes

  • The nexatron-mcp package must be on PyPI before submitting, because reviewers will run uvx nexatron-mcp to verify.
  • The .well-known/mcp/server.json endpoint must be live and return a valid manifest. The static file is at docs/integrations/nexatron-mcp-manifest.json; the backend serves it from app/api/wellknown.py (verify that endpoint is deployed).
  • Estimated Anthropic review time: 1-7 business days based on past community submissions.

3. Cursor MCP Registry

Cursor maintains a list of community MCP servers at https://docs.cursor.com/context/model-context-protocol. Listing is via a GitHub PR or a submission form (check the current Cursor docs for the live submission process, as it changes).

What to prepare

Cursor's listing requires:

  • Server name, description, install command, and homepage URL.
  • Confirmation that the server follows MCP 2024-11 spec.
  • A working demo (optionally, a short screen recording).

Submission steps

  1. Check https://docs.cursor.com/context/model-context-protocol for the current submission mechanism (PR vs form).
  2. If PR-based, fork the relevant Cursor docs/registry repo and add an entry:
    {
      "name": "Nexatron",
      "description": "AI analytics engine from dotSolved — ask questions about enterprise data in plain English. 12 tools including NL-to-SQL, semantic layer metrics, and RAG search.",
      "install": "uvx nexatron-mcp",
      "homepage": "https://nexatron.io",
      "category": "data"
    }
    
  3. Include a link to docs/integrations/claude-install.md#cursor for the full Cursor install guide.
  4. Contact Cursor through their developer relations channel if a partnership tier listing is desired.

Cursor-specific config location

For user reference, the Cursor config file is .cursor/mcp.json at the project root or ~/.cursor/mcp.json for global scope. The npx @nexatron/create-mcp --client cursor command writes this file automatically.


4. Claude Desktop (Anthropic Connector Partner Program)

Getting listed in the curated claude.ai connectors list (the built-in integration picker users see when they open Settings > Integrations) requires partnership approval from Anthropic's platform team. This is separate from the open directory submission in section 2.

What Anthropic requires

From the Connector Partner Program application (based on public documentation as of April 2026):

  • Working remote MCP server accessible via HTTPS.
  • OAuth 2.1 with PKCE (the Nexatron backend already implements this).
  • RFC 8414 server metadata at /.well-known/oauth-authorization-server.
  • RFC 9728 protected resource metadata at /.well-known/oauth-protected-resource.
  • The server manifest at /.well-known/mcp/server.json (live at https://api.nexatron.io/.well-known/mcp/server.json).
  • Demonstrated security posture (SOC 2, pen test results, etc.).
  • A point of contact at the partner company.

All of the above are either already built or documented in docs/integrations/anthropic-directory-submission.md.

Submission steps

  1. Email partners@anthropic.com with the subject: Nexatron MCP Connector Partner Application.
  2. Attach or link to docs/integrations/anthropic-directory-submission.md as the dossier.
  3. Confirm the remote MCP endpoint is live and the OAuth flow completes end-to-end (test with a claude.ai Pro account before submitting).
  4. Ashok Rao (founder, dotSolved) is the business contact; route partnership discussions through him.
  5. Nexatron Engineering (nexatron@dotsolved.com) handles technical questions.

Pre-flight for remote MCP

Before submitting, verify:

# Manifest is live
curl https://api.nexatron.io/.well-known/mcp/server.json | python3 -m json.tool

# OAuth server metadata
curl https://api.nexatron.io/.well-known/oauth-authorization-server | python3 -m json.tool

# Protected resource metadata
curl https://api.nexatron.io/.well-known/oauth-protected-resource | python3 -m json.tool

All three must return valid JSON with no 404/500. The MCP server endpoint itself:

# Should return 200 or 405 (not 404)
curl -I https://api.nexatron.io/api/v1/mcp

5. npm — publish @nexatron/create-mcp

The scaffolding CLI in packages/create-nexatron-mcp/ should be published to npm so users can run npx @nexatron/create-mcp.

Pre-flight checklist

  • Node tests pass: cd packages/create-nexatron-mcp && node --test src/index.test.js
  • Version in package.json is correct.
  • bin.create-nexatron-mcp points to ./src/index.js.
  • src/index.js has #!/usr/bin/env node as the first line.

Publish steps

cd packages/create-nexatron-mcp

# Dry run — shows what will be published
npm pack --dry-run

# Log in to npm (requires npm account with publish rights to @nexatron org)
npm login

# Publish under the @nexatron scope
npm publish --access public

After publish, verify:

npx @nexatron/create-mcp --help

6. Post-submission tracking

Registry Status Notes
PyPI (nexatron-mcp) Not published Run publish steps above
Anthropic open MCP directory Not submitted PR to modelcontextprotocol/servers
Cursor MCP registry Not submitted Check current submission mechanism
Anthropic Connector Partner Not submitted Email partners@anthropic.com
npm (@nexatron/create-mcp) Not published Run npm publish steps above

Update this table as each submission progresses.


7. Keeping the manifest current

The static manifest at docs/integrations/nexatron-mcp-manifest.json is the source of truth for the live endpoint at https://api.nexatron.io/.well-known/mcp/server.json. When tool names, scopes, or capabilities change:

  1. Update docs/integrations/nexatron-mcp-manifest.json.
  2. Update the backend route that serves it (check app/api/wellknown.py).
  3. Update the tool list in packages/mcp-server/src/nexatron_mcp/server.py.
  4. Bump the version in packages/mcp-server/pyproject.toml and __init__.py.
  5. Add a CHANGELOG entry.
  6. Notify any registered partner registries of the change (most accept simple re-submissions).

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

nexatron_mcp-1.0.0.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

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

nexatron_mcp-1.0.0-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file nexatron_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: nexatron_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for nexatron_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a3fbd2950b726b8574fb3bec70fa8f53acb568546325ee73c49277ba6ba4e8d0
MD5 182b8a89e382f48cc2de16744e5fda16
BLAKE2b-256 3b6e1fec5b596e4a02d08a6750eea0de26b253ea8e8e4cd343b3f0fbfa9b4643

See more details on using hashes here.

File details

Details for the file nexatron_mcp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: nexatron_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for nexatron_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 38d74c1963fa84d73cc51649a7140d3669acb9b9eb8dbefa501a521b65259472
MD5 a796ea08e3388782e58ffa659cb0d948
BLAKE2b-256 d48d8c80931b851590914f45866323eca2e05c0641d255f5edc6f1252a0687a4

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