Managed MCP Server

Tacnode provides a fully managed Model Context Protocol (MCP) Server that enables secure connections between AI agents, large language models, and your database. The managed MCP server includes enterprise-grade features like token-based authentication, automatic schema inspection, and support for read-only query execution.

Prerequisites

Before using the managed MCP Server, you need to set up your Tacnode infrastructure:

Required Resources

  1. Data Cloud - Defines the cloud platform and region for deployment
  2. Nodegroup - Provides compute resources with configurable node sizes
  3. Database - Contains your tables and schemas

Setup Instructions

Once your infrastructure is ready, MCP token management becomes available in your Nodegroup details page. Each generated token is automatically bound to the corresponding compute and storage resources.

Token Management

MCP tokens provide secure access control by linking SQL execution permissions to specific computational (Nodegroup) and storage (Database) resources. Each token includes account-level permissions for the selected database and has a 180-day validity period.

Enabling Token Creation

Token creation requires platform service permissions. Enable Platform Service Authorization under Security → Access Authorization.

Creating New Tokens

  1. Navigate to your desired Nodegroup for SQL execution
  2. In the Nodegroup Overview, click MCP Tokens to view existing tokens for your account
  3. Click Create Token and specify the target Database name
  4. Generate and copy your new token for MCP client access

Connecting to the Managed MCP Server

Tacnode's managed MCP Server is available at https://mcp-server.tacnode.io/mcp and uses:

  • Transport Protocol: Streamable HTTP
  • Wire Format: JSON-RPC 2.0
  • Authentication: Bearer Token (your generated MCP token)

Claude Desktop Integration

Configure Claude Desktop to use Tacnode as an MCP server by editing the configuration file:

File Locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Configuration:

{
  "mcpServers": {
    "tacnode": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp-server.tacnode.io/mcp",
        "--header",
        "Authorization: Bearer <YOUR_API_KEY>"
      ]
    }
  }
}

After configuration, the Tacnode MCP Server appears in Claude → Settings → Developers, and the tacnode tool becomes available in your chat sessions.

MCP Inspector Integration

MCP Inspector provides a visual interface for testing MCP server functionality. When using local proxy mode, configure your Proxy Session Token for authentication.

Available Interfaces:

  • Resources List/Template/Read: Retrieve comprehensive metadata about your database schema
  • Tools List/Call: Execute read-only SQL queries against your database

For complete API documentation, see the Managed MCP Server API reference.

REST API Access

You can directly access the MCP Server using REST API calls with JSON-RPC formatting:

Request Configuration:

  • Method: POST
  • URL: https://mcp-server.tacnode.io/mcp
  • Headers:
    • Authorization: Bearer <YOUR_TOKEN>
    • Content-Type: application/json
    • Accept: application/json, text/event-stream

Request Body Format:

{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
        "name": "query",
        "arguments": {
            "sql": "your query"
        }
    },
    "id": 1
}

Example Request:

curl -X POST https://mcp-server.tacnode.io/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer <YOUR_TOKEN>" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
        "name": "query",
        "arguments": {
            "sql": "SELECT id, name, review_scores_rating FROM listings ORDER BY review_scores_rating DESC LIMIT 5;"
        }
    },
    "id": 1
  }'

Example Response:

event: message
data: {
    "result": {
        "content": [
            {
                "type": "text",
                "text": "[\n  {\n    \"id\": \"865896987740150796\",\n    \"name\": \"Home in Arcangues\",\n    \"review_scores_rating\": null\n  },\n  {\n    \"id\": \"865898067341970111\",\n    \"name\": \"Boutique hotel in Küçükçekmece\",\n    \"review_scores_rating\": null\n  },\n  {\n    \"id\": \"865891522478896004\",\n    \"name\": \"Rental unit in Los Angeles\",\n    \"review_scores_rating\": null\n  },\n  {\n    \"id\": \"865894651971692294\",\n    \"name\": \"Rental unit in Madrid\",\n    \"review_scores_rating\": null\n  },\n  {\n    \"id\": \"865898448046663394\",\n    \"name\": \"Rental unit in Maltepe\",\n    \"review_scores_rating\": null\n  }\n]"
            }
        ],
        "isError": false
    },
    "jsonrpc": "2.0",
    "id": 1
}

On this page