Consail MCP
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Consail MCPpreview 100 rows of the orders dataset in dev"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
# Consail MCP
Governed Model Context Protocol server for Consail.
Agents connect to Consail. They never get the database password.
Phase A ships a local stdio server for Cursor and Claude Desktop. Tools are a fixed allowlist mapped 1:1 to existing Consail HTTP APIs. Auth is your existing consail_* API key plus environment binding (X-Consail-Environment).
Public hosted origin will be https://mcp.consail.com (Phase B — not implemented in this package yet).
Phase A tools (read / validate only)
Tool | Consail API |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Never exposed (Phase A): raw SQL, secret_get, API-key create/delete, deletes, writes, pipeline_run / run_get (Phase C).
Related MCP server: agent-kernel-mcp
Requirements
Node.js 20+
A Consail instance (local, staging, or prod API)
A
consail_*API key scoped to the environment you intend to use
Install / run locally
git clone https://github.com/consail-labs/consail-mcp.git
cd consail-mcp
npm install
npm run buildEnvironment
Variable | Required | Description |
| yes | Consail API base URL (e.g. |
| yes | Bearer key with |
| for data tools | Environment slug bound on every env-scoped call via |
| no | Per-request timeout (default |
Copy .env.example if useful — the MCP host should inject env vars into the server process (do not commit real keys).
export CONSAIL_URL=http://localhost:8080
export CONSAIL_API_KEY=consail_your_key
export CONSAIL_ENVIRONMENT=dev
npm startnpm start speaks MCP over stdio (stdout is the protocol channel; logs go to stderr).
Cursor config
Add to Cursor MCP settings (JSON), pointing at the built entrypoint:
{
"mcpServers": {
"consail": {
"command": "node",
"args": ["/absolute/path/to/consail-mcp/dist/index.js"],
"env": {
"CONSAIL_URL": "http://localhost:8080",
"CONSAIL_API_KEY": "consail_your_key",
"CONSAIL_ENVIRONMENT": "dev"
}
}
}
}Or via npx after publish:
{
"mcpServers": {
"consail": {
"command": "npx",
"args": ["-y", "@consail-labs/consail-mcp"],
"env": {
"CONSAIL_URL": "https://api.consail.dev",
"CONSAIL_API_KEY": "consail_your_key",
"CONSAIL_ENVIRONMENT": "dev"
}
}
}
}Claude Desktop config
Edit Claude Desktop config (claude_desktop_config.json):
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"consail": {
"command": "node",
"args": ["C:\\\\absolute\\\\path\\\\to\\\\consail-mcp\\\\dist\\\\index.js"],
"env": {
"CONSAIL_URL": "http://localhost:8080",
"CONSAIL_API_KEY": "consail_your_key",
"CONSAIL_ENVIRONMENT": "dev"
}
}
}
}Restart Claude Desktop after saving.
Security defaults
Auth fail-closed — missing/invalid
consail_*key: process refuses to start; API 401/403 returns structured errors (no stack dumps).Tenant / env binding — data tools always send
X-Consail-EnvironmentfromCONSAIL_ENVIRONMENT. Tool arguments cannot override the bound environment.Preview row cap — default 50, hard max 5000 (enforced in this server before calling Consail).
No secrets in payloads — tools never call secret APIs; fixtures are grepped in CI (
npm run check:secrets).
Tests (security gate A)
npm test
npm run check:secretsGate coverage:
Auth fail-closed (config + 401)
Preview row cap (default + hard 5000)
Fixtures contain no secret values
Env isolation: key/session for env A cannot preview as env B
Stack
TypeScript + official
@modelcontextprotocol/server(MCP SDK v2)Thin HTTP client → Consail REST (same shapes as
consail-cli --json)
Why TypeScript: official MCP SDK, natural fit for Cursor/Claude Desktop stdio packaging (node / npx), while staying a separate thin repo (not in Atlas Core).
Roadmap
Phase | Status |
A stdio read/validate | this package |
B hosted streamable HTTP at | not in this slice |
C | not in this slice |
License
Apache-2.0
This server cannot be deployed
Maintenance
Related MCP Connectors
Develop, manage, and debug Railway projects, services, and deployments from within agents.
Connect AI agents to Replynodes over the Model Context Protocol.
Read a project's prompts, logs and agents, and send new work to the agent on your own machines.
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables an AI agent to run local tools on the user's own machine via stdio, including command execution, workspace file read/write, and system status checks.52MIT
- AlicenseBqualityBmaintenanceEnables IDE and DeepSeek Harness agents to control an agent-kernel instance over stdio, exposing tools for auth, projects, assignments, runs, scheduler nudges, and executor settings.12MIT
- AlicenseNot gradedqualityAmaintenanceExposes ReadyAgents' local workflow engine and built-in tools over MCP stdio, enabling MCP clients to define, run, inspect, and approve YAML/JSON agent workflows.518 PyPIApache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables local AI agents to work with SQL workspaces and databases by inspecting schemas, running bounded queries, and managing recoverable imports, previews, applies, diffs, and undos over stdio.1MIT