Skip to main content
Even without Claude or ChatGPT, the Bridger Gateway can be called directly via REST and the standard MCP SDK.
1

Issue an API key

Issue an API key from the admin dashboard. See the API key guide as well.
2

Call the REST API

Call the standard REST endpoints.
curl -X GET https://mcp.datari.kr/api/v1/tools \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
REST is for listing, retrieving, registering, and managing tools. Tool execution is done via MCP JSON-RPC tools/call (POST /mcp). See the MCP SDK examples below.
3

MCP SDK integration (Node.js)

To integrate programmatically, use the official MCP SDK.
Install
npm install @modelcontextprotocol/sdk
client.js
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";

const transport = new SSEClientTransport(
  new URL("https://mcp.datari.kr/mcp/sse"),
  {
    requestInit: {
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
      },
    },
  }
);

const client = new Client({
  name: "my-app",
  version: "1.0.0",
});

await client.connect(transport);

// List tools
const tools = await client.listTools();
console.log(tools);

// Run a tool
const result = await client.callTool({
  name: "getweatherforecast",
  arguments: {
    nx: 60,
    ny: 127,
  },
});
console.log(result);
4

MCP SDK integration (Python)

You can implement the same flow in Python.
Install
pip install mcp
client.py
from mcp import ClientSession
from mcp.client.sse import sse_client
import asyncio

async def main():
    headers = {"Authorization": "Bearer YOUR_API_KEY"}

    async with sse_client(
        "https://mcp.datari.kr/mcp/sse",
        headers=headers,
    ) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()

            tools = await session.list_tools()
            print(tools)

            result = await session.call_tool(
                "getweatherforecast",
                arguments={"nx": 60, "ny": 127},
            )
            print(result)

asyncio.run(main())
5

BYOAPI — register your own API (coming soon)

Any API with an OpenAPI spec can be registered as a Bridger tool. (coming soon) See the BYOAPI concept doc for the full flow.
Register an API
curl -X POST https://mcp.datari.kr/api/v1/register \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "spec_url": "https://api.example.com/openapi.json",
    "name": "my-service",
    "auth": { "type": "bearer", "token": "SERVICE_API_KEY" },
    "visibility": "private"
  }'
Either spec_url (remote spec) or spec_raw (inline spec string) plus name is required. Registration is processed asynchronously and the response returns a job_id. Check progress with GET /api/v1/register/:id/status.

API reference summary

MethodPathDescription
GET/api/v1/toolsList registered tools
GET/api/v1/tools/:toolIdGet a single tool
POST/api/v1/registerBYOAPI registration ({spec_url|spec_raw, name, auth, visibility})
GET/api/v1/register/:id/statusBYOAPI registration job status
GET/registry/serversPreset server (MCP group) catalog
GET/registry/toolsFlattened tool list
GET/mcp/sseMCP SSE event stream
POST/mcpJSON-RPC (tools/list, tools/call) — tool execution
See the API Reference tab for the full spec.