Skip to main content

Connecting MCP clients

Preview

The MCP integration is in preview - tools, parameters, and behavior may change between releases.

This page shows how to register the Dime.Scheduler MCP server in the most common clients. They all need the same three things - the endpoint URL, transport, and X-API-KEY header - but the configuration format differs.

Replace YOUR_API_KEY with a real API key and pick the URL that matches your environment.

MCP Inspector

The MCP Inspector is the fastest way to verify a connection and explore the tool catalog. We recommend it for first-time setup.

npx @modelcontextprotocol/inspector

In the UI:

  1. Transport type: Streamable HTTP
  2. URL: https://sandbox.api.dimescheduler.com/mcp
  3. Authentication: Custom headers
    • Header name: X-API-KEY
    • Header value: your API key
  4. Click Connect, then List Tools - you should see the full catalog (tasks, resources, appointments, …).

From here you can invoke tools by hand, inspect their JSON schemas, and confirm everything works before wiring up a real assistant.

Claude Desktop

Claude Desktop reads its MCP configuration from claude_desktop_config.json:

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

Recent versions support remote MCP servers natively:

{
"mcpServers": {
"dimescheduler": {
"url": "https://sandbox.api.dimescheduler.com/mcp",
"headers": {
"X-API-KEY": "YOUR_API_KEY"
}
}
}
}

If your version of Claude Desktop only supports stdio-based servers, use the mcp-remote bridge instead:

{
"mcpServers": {
"dimescheduler": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://sandbox.api.dimescheduler.com/mcp",
"--header",
"X-API-KEY:YOUR_API_KEY"
]
}
}
}

Restart Claude Desktop and look for the tools icon in the input box - you should see the dimescheduler server listed.

Claude Code

Add the server with the claude mcp command:

claude mcp add --transport http dimescheduler \
https://sandbox.api.dimescheduler.com/mcp \
--header "X-API-KEY: YOUR_API_KEY"

Run /mcp inside Claude Code to verify the server is connected and to inspect available tools.

Cursor

Cursor stores MCP servers in ~/.cursor/mcp.json (global) or .cursor/mcp.json in a workspace. The format mirrors Claude Desktop:

{
"mcpServers": {
"dimescheduler": {
"url": "https://sandbox.api.dimescheduler.com/mcp",
"headers": {
"X-API-KEY": "YOUR_API_KEY"
}
}
}
}

Reload the Cursor settings and confirm the server appears under Settings → MCP.

Custom clients

If you are building your own client with the TypeScript SDK:

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";

const transport = new StreamableHTTPClientTransport(
new URL("https://sandbox.api.dimescheduler.com/mcp"),
{
requestInit: {
headers: { "X-API-KEY": process.env.DIME_API_KEY! },
},
}
);

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

const { tools } = await client.listTools();
console.log(tools.map((t) => t.name));

The Python SDK follows the same pattern: instantiate a Streamable HTTP client with the X-API-KEY header, connect, and call list_tools() / call_tool().

Verifying the connection

Whichever client you choose, run a quick smoke test once it's connected:

"List all categories."

That should invoke list_categories and return the categories defined in your tenant. If the assistant reports an authentication error, double-check the X-API-KEY header. If it cannot find any tools, confirm the URL ends in /mcp and that the transport is set to Streamable HTTP.