All Guides
Any MCP Client
Connect any client that supports the Model Context Protocol using StreamableHTTP transport.
Available Endpoints
Left Hook Public MCP
https://mcp.lefthook.com/mcp22 tools, 7 resources, 3 prompts | No auth | Stateless
Left Hook Docs MCP
https://mcp.lefthook.com/docs/mcp11 tools, 6 resources | No auth | Stateless
Protocol Details
| Transport | StreamableHTTP (MCP spec 2025-03-26) |
| Content-Type | application/json |
| Accept | application/json, text/event-stream |
| Message Format | JSON-RPC 2.0 |
| Authentication | None required |
| CORS | All origins (*) allowed |
| Session | Stateless (no Mcp-Session-Id required) |
Example: Initialize Connection
Send a JSON-RPC initialize request to the endpoint:
curl -X POST https://mcp.lefthook.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": {
"name": "my-client",
"version": "1.0.0"
}
}
}'Example: List Tools
curl -X POST https://mcp.lefthook.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
}'Example: Call a Tool
curl -X POST https://mcp.lefthook.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "search_catalog",
"arguments": {
"query": "CRM integrations"
}
}
}'MCP SDK Configuration
If you're using the official @modelcontextprotocol/sdk TypeScript client:
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const transport = new StreamableHTTPClientTransport(
new URL("https://mcp.lefthook.com/mcp")
);
const client = new Client({
name: "my-app",
version: "1.0.0",
});
await client.connect(transport);
// List available tools
const tools = await client.listTools();
console.log(tools);
// Call a tool
const result = await client.callTool({
name: "search_catalog",
arguments: { query: "CRM integrations" },
});
console.log(result);MCP Config File
For clients that read mcp.json or claude_desktop_config.json:
{
"mcpServers": {
"lefthook-catalog": {
"url": "https://mcp.lefthook.com/mcp"
},
"lefthook-docs": {
"url": "https://mcp.lefthook.com/docs/mcp"
}
}
}