Skip to main content

Connecting MCP clients

This page shows how to register the Dime.Scheduler MCP serverMCP serverThe Model Context Protocol endpoint that exposes scheduling operations as tools to AI assistants. It is authenticated with API keys and translates tool calls into Dime.Scheduler API calls. 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 (tasksTaskA unit of work that belongs to a job. It appears in the open task list until it is scheduled to a resource., resourcesResourceAn entity that can carry out work - a person, vehicle, tool, or room - that you schedule on the planning board., appointmentsAppointmentA task scheduled to a resource for a specific period - the scheduled instance you see on the planning board., and more).

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 categoriesCategoryA visual indicator (a color) applied to appointments to classify or label them. 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.