Skip to main content

MCP Client Examples

Working connection snippets for the major MCP-capable clients. Doungim is a TTRPG gaming console for D&D and other tabletop role-playing games — connecting a client here exposes all eight Doungim D&D tools to that client's model.

Claude Desktop

Add the following to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent on Windows / Linux:

{
  "mcpServers": {
    "doungim": {
      "type": "http",
      "url": "https://www.doungim.com/mcp"
    }
  }
}

Cursor / Cline / Continue

These editors read an MCP config from their settings UI. Point the streaming-HTTP entry at:

https://www.doungim.com/mcp

Custom Node / TypeScript client

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

const client = new Client({ name: 'my-app', version: '1.0' }, { capabilities: {} });
await client.connect(new StreamableHTTPClientTransport(new URL('https://www.doungim.com/mcp')));

const tools = await client.listTools();
const fireball = await client.callTool({
  name: 'get_spell',
  arguments: { slug: 'fireball' },
});
console.log(fireball.content[0].text);

Raw JSON-RPC over POST

For debugging, you can hit the endpoint directly:

curl -X POST https://www.doungim.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2024-11-05",
      "clientInfo": { "name": "curl-test", "version": "1.0" },
      "capabilities": {}
    }
  }'