---
title: "NonPharma Demo SQL Server MCP — Claude & ChatGPT Connector"
method: POST
path: "/api/mcp/NonPharma_Demo"
tags: ["MCP Server"]
---

# NonPharma Demo SQL Server MCP — Claude & ChatGPT Connector

`POST /api/mcp/NonPharma_Demo`

## Request

- Base URL: `https://api.leapsurgebi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.leapsurgebi.com/api/mcp/NonPharma_Demo`
- Auth: none declared
- TypeScript: <https://skmtc.dev/leapsurgebi/apis/leapsurgeapi/docs/api/mcp/NonPharma_Demo/post.ts> (a function with typed inputs; its response is checked against the schema)

**MCP NonPharma Demo Endpoint (ChatGPT & Claude Connector)**

**URL:** `POST /api/mcp/NonPharma_Demo`

Same SQL Server instance as `/api/mcp/sql_server`, pointed at a different
database (`MSSQL_NONPHARMA_DATABASE`). Read-only, same six tools.

**Header:**
- `Mcp-Session-Id` (optional but recommended) — will be echoed back in every response.

**Methods Supported (`method`):**
- `initialize`
- `notifications/initialized`
- `ping`
- `tools/list`
- `tools/call`

**Example — List tools:**
```json
{ "jsonrpc": "2.0", "method": "tools/list", "params": {}, "id": 1 }
```

**Example — Call tool:**
```json
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": { "name": "DataFreshness", "arguments": {} },
  "id": 1
}
```

**Tools** — curated domain tools; the tool builds the SQL, so the caller
never names a table or column.

Domain:
- `Sales`
- `Finance`
- `Inventory`
- `Manufacturing`
- `SecondarySales`
- `FieldForce`
- `Procurement`
- `Workforce`

Utility:
- `DataFreshness`
- `ResolveEntity`
- `DescribeTable`
- `GetKpiDefinition`
- `RunSQL`

**Security**
- Read-only enforced (SELECT / WITH…SELECT only)
- Multiple statements blocked
- Max rows limited
- Session header echoed to prevent ChatGPT link expiry

## Headers

- `Mcp-Session-Id` string, nullable

## Request body

- MCPRequest
  - `jsonrpc` string: JSON-RPC version. Always '2.0'
  - `method` string: MCP method: initialize | tools/list | tools/call
  - `params` object, nullable: Method parameters. For tools/call: { name, arguments }
  - `id` integer, nullable: Request ID. Echoed back in response.

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-24** `23b42df3193a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/leapsurgebi/apis/leapsurgeapi/changes/api/mcp/NonPharma_Demo/post.md)

---

[API](https://skmtc.dev/leapsurgebi/apis/leapsurgeapi.md) - [All operations](https://skmtc.dev/leapsurgebi/apis/leapsurgeapi/llms.txt) - [OpenAPI document](https://skmtc.dev/leapsurgebi/apis/leapsurgeapi/revisions/13653cb8ee76?raw)
