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/mcpover 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 annxa_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.tomlandsrc/nexatron_mcp/__init__.pymatch (currently1.0.0). -
CHANGELOG.mdhas 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
- Fork https://github.com/modelcontextprotocol/servers.
- 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-levelservers.yaml). - Open a pull request with the title:
Add Nexatron MCP server (nexatron-mcp). - Use the PR description template from
docs/integrations/anthropic-directory-submission.mdAppendix B. - Assign the PR to a dotSolved engineer to monitor and respond to reviewer comments.
Notes
- The
nexatron-mcppackage must be on PyPI before submitting, because reviewers will runuvx nexatron-mcpto verify. - The
.well-known/mcp/server.jsonendpoint must be live and return a valid manifest. The static file is atdocs/integrations/nexatron-mcp-manifest.json; the backend serves it fromapp/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
- Check https://docs.cursor.com/context/model-context-protocol for the current submission mechanism (PR vs form).
- 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" }
- Include a link to
docs/integrations/claude-install.md#cursorfor the full Cursor install guide. - 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 athttps://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
- Email
partners@anthropic.comwith the subject:Nexatron MCP Connector Partner Application. - Attach or link to
docs/integrations/anthropic-directory-submission.mdas the dossier. - Confirm the remote MCP endpoint is live and the OAuth flow completes end-to-end (test with a claude.ai Pro account before submitting).
- Ashok Rao (founder, dotSolved) is the business contact; route partnership discussions through him.
- 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.jsonis correct. -
bin.create-nexatron-mcppoints to./src/index.js. -
src/index.jshas#!/usr/bin/env nodeas 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:
- Update
docs/integrations/nexatron-mcp-manifest.json. - Update the backend route that serves it (check
app/api/wellknown.py). - Update the tool list in
packages/mcp-server/src/nexatron_mcp/server.py. - Bump the version in
packages/mcp-server/pyproject.tomland__init__.py. - Add a CHANGELOG entry.
- Notify any registered partner registries of the change (most accept simple re-submissions).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3fbd2950b726b8574fb3bec70fa8f53acb568546325ee73c49277ba6ba4e8d0
|
|
| MD5 |
182b8a89e382f48cc2de16744e5fda16
|
|
| BLAKE2b-256 |
3b6e1fec5b596e4a02d08a6750eea0de26b253ea8e8e4cd343b3f0fbfa9b4643
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38d74c1963fa84d73cc51649a7140d3669acb9b9eb8dbefa501a521b65259472
|
|
| MD5 |
a796ea08e3388782e58ffa659cb0d948
|
|
| BLAKE2b-256 |
d48d8c80931b851590914f45866323eca2e05c0641d255f5edc6f1252a0687a4
|