Skip to main content
Glama
Boxtalk Data MCP Server

Boxtalk Data MCP Server

Boxtalk Data MCP Server

A Model Context Protocol (MCP) server that provides SQL Server database operations with pagination, table structure inspection, and record counting capabilities.

Features

  • Get Table Data: Retrieve paginated data from any SQL Server table

  • Get Record Count: Get the total number of records in a table

  • Get Table Structure: View table schema including columns, data types, primary keys, and foreign keys

  • Configurable Connection: Easy database configuration via JSON file

  • Enforced Pagination: Prevents large data dumps with configurable page sizes (max 1000 records per page)

Related MCP server: mcp-sqlserver-readonly

Prerequisites

  • Node.js (v16 or higher)

  • SQL Server database (local or remote)

  • Database credentials with read access

Installation

  1. Clone or navigate to this directory

  2. Install dependencies:

npm install
  1. Create your configuration file:

cp config.example.json config.json
  1. Edit config.json with your database credentials:

{
  "database": {
    "user": "your_username",
    "password": "your_password",
    "server": "localhost",
    "database": "your_database_name",
    "options": {
      "encrypt": true,
      "trustServerCertificate": false,
      "enableArithAbort": true
    },
    "pool": {
      "max": 10,
      "min": 0,
      "idleTimeoutMillis": 30000
    }
  }
}

Configuration Options

  • user: SQL Server username

  • password: SQL Server password

  • server: SQL Server hostname or IP address

  • database: Database name

  • options.encrypt: Enable encryption (recommended for production)

  • options.trustServerCertificate: Set to true for local development with self-signed certificates

  • pool.max: Maximum number of connections in the pool

  • pool.min: Minimum number of connections in the pool

  • pool.idleTimeoutMillis: Time before idle connections are closed

Alternative Configuration

You can also specify a custom configuration file path using the DB_CONFIG_PATH environment variable:

DB_CONFIG_PATH=/path/to/custom/config.json node index.js

Usage with Claude Desktop

To use this MCP server with Claude Desktop, add it to your Claude Desktop configuration file:

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

{
  "mcpServers": {
    "boxtalk-data": {
      "command": "node",
      "args": ["/path/to/boxtalk-data-mcp/index.js"],
      "env": {
        "DB_CONFIG_PATH": "/path/to/boxtalk-data-mcp/config.json"
      }
    }
  }
}

After adding the configuration, restart Claude Desktop.

Available Tools

1. get_table_data

Retrieve paginated data from a SQL Server table.

Parameters:

  • table (required): Table name (e.g., "Users" or "dbo.Users")

  • page (optional): Page number, defaults to 1

  • pageSize (optional): Records per page (1-1000), defaults to 100

  • orderBy (optional): Column to order by, defaults to first column

Example:

Get the first 50 records from the Users table, ordered by UserId

2. get_table_count

Get the total count of records in a table.

Parameters:

  • table (required): Table name (e.g., "Users" or "dbo.Users")

Example:

How many records are in the Orders table?

3. get_table_structure

Get the structure/schema of a table including columns, data types, and constraints.

Parameters:

  • table (required): Table name (e.g., "Users" or "dbo.Users")

Example:

Show me the structure of the Products table

Testing

You can test the server using the MCP inspector:

npm install -g @modelcontextprotocol/inspector
mcp-inspector node index.js

Security Considerations

  • Never commit config.json to version control

  • Use strong database passwords

  • Grant only necessary permissions to the database user

  • Enable encryption for production environments

  • Consider using environment variables for sensitive credentials

Troubleshooting

Connection Errors

If you encounter connection errors:

  1. Verify SQL Server is running and accessible

  2. Check firewall settings allow connection on SQL Server port (default 1433)

  3. Confirm credentials are correct

  4. For local development with self-signed certificates, set trustServerCertificate: true

Authentication Issues

For Windows Authentication, modify config.json:

{
  "database": {
    "server": "localhost",
    "database": "your_database_name",
    "options": {
      "trustedConnection": true,
      "encrypt": true,
      "trustServerCertificate": true
    }
  }
}

Table Not Found

Ensure you specify the correct schema (e.g., "dbo.TableName" instead of just "TableName").

License

MIT

Available Tools

4 tools
get_table_countB

Get the total count of records in a SQL Server table.

Inputs: table (required).

get_table_dataC

Get paginated data from a SQL Server table. Returns a specified page of records with pagination enforced.

Inputs: table (required), page, pageSize, orderBy.

get_table_structureA

Get the structure/schema of a SQL Server table including column names, data types, and constraints.

Inputs: table (required).

query_dataA

Execute a SELECT query on the SQL Server database with enforced pagination. Only SELECT queries are allowed - DDL and DML operations (CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, etc.) are rejected.

Inputs: query (required), page, pageSize.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: get_table_count retrieves record counts, get_table_data fetches paginated records, get_table_structure provides schema information, and query_data executes custom SELECT queries. There is no overlap or ambiguity between these functions, making tool selection straightforward for an agent.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (get_table_count, get_table_data, get_table_structure, query_data). The naming is uniform and predictable, with 'get_' prefix for three tools and 'query_' for the fourth, both clearly indicating actions on data resources.

    Tool Count5/5

    With 4 tools, this server is well-scoped for its purpose of SQL Server data access. Each tool earns its place by covering essential operations: counting, retrieving, inspecting structure, and querying data. The count is neither too sparse nor bloated, fitting the domain appropriately.

    Completeness4/5

    The toolset provides strong coverage for read-only data access, including counts, paginated data, schema, and custom queries. However, there are minor gaps, such as no tools for metadata operations (e.g., listing tables or databases) or handling non-SELECT queries, which agents might need to work around for broader database interactions.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for SQL Server database interactions, providing tools to list databases, get schema, and execute parameterized SELECT queries.
      23 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Read-only SQL Server MCP server enabling safe database queries, table listing, and schema inspection with built-in security protections.
      MIT