MCP Integration
Connect Claude, Cursor, and other AI assistants to your Chanl tools via MCP
Every Chanl workspace exposes an MCP endpoint. Connect any MCP-compatible client -- Claude Desktop, Cursor, Claude Code, or custom agents -- and it gets instant access to your tools, knowledge base, and memory.
https://{workspace-slug}.chanl.dev/{toolset-slug}Quick Setup
Step 1: Generate the config
chanl mcp configMCP Configuration
─────────────────────────────────────────
Your MCP endpoint: https://acme.chanl.dev/admin-tools
Add this to your client config:
{
"mcpServers": {
"chanl": {
"type": "streamablehttp",
"url": "https://acme.chanl.dev/admin-tools",
"headers": {
"X-API-Key": "chanl_key_abc123..."
}
}
}
}Step 2: Add to your client
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"chanl": {
"type": "streamablehttp",
"url": "https://acme.chanl.dev/admin-tools",
"headers": {
"X-API-Key": "chanl_key_abc123..."
}
}
}
}Restart Claude Desktop. Chanl tools appear in the tools menu.
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"chanl": {
"type": "streamablehttp",
"url": "https://acme.chanl.dev/admin-tools",
"headers": {
"X-API-Key": "chanl_key_abc123..."
}
}
}
}Add to .mcp.json in your project root:
{
"mcpServers": {
"chanl": {
"type": "streamablehttp",
"url": "https://acme.chanl.dev/admin-tools",
"headers": {
"X-API-Key": "chanl_key_abc123..."
}
}
}
}Replace acme with your workspace slug. Replace admin-tools with your toolset slug.
Step 3: Test the connection
chanl mcp testMCP Connection Test
─────────────────────────────────────────
Status: Connected ✓
Endpoint: https://acme.chanl.dev/admin-tools
Latency: 45ms
Available Tools (12):
- kb_search
- kb_add
- kb_list
- memory_search
- memory_add
- memory_delete
- tool_list
- prompt_list
- prompt_get
- interaction_list
- interaction_stats
- workspace_statsGenerate Config for Specific Clients
# Claude Desktop format
chanl mcp config --output claude
# Cursor format
chanl mcp config --output cursor
# Specific toolset
chanl mcp config --toolset support-toolsBuilt-in Tools
Every workspace gets an admin-tools toolset automatically. No setup needed.
| Tool | What It Does |
|---|---|
kb_search | Semantic search across your knowledge base |
kb_add | Add a new knowledge base entry |
kb_list | List all knowledge base entries |
memory_search | Find customer memories by semantic query |
memory_add | Store a memory (customer, agent, or session scoped) |
memory_delete | Remove memories |
tool_list | List all tools in the workspace |
prompt_list | List prompt templates |
prompt_get | Get a prompt with resolved variables |
interaction_list | List recent conversations |
interaction_stats | Conversation analytics and metrics |
workspace_stats | Workspace overview |
Custom Toolsets
The admin-tools endpoint includes everything. For production agents, create scoped toolsets with only the tools they need.
Create a custom toolset
chanl toolsets create --name "Support Tools" --slug "support-tools"✓ Created toolset: toolset_abc123 (support-tools)
Endpoint: https://acme.chanl.dev/support-toolsAdd tools to it
chanl tools create --file lookup-order.json
chanl toolsets add-tool --toolset support-tools --tool tool_abc123
chanl toolsets add-tool --toolset support-tools --tool kb_search
chanl toolsets add-tool --toolset support-tools --tool memory_searchPoint your agent to the custom endpoint
{
"mcpServers": {
"chanl-support": {
"type": "streamablehttp",
"url": "https://acme.chanl.dev/support-tools",
"headers": {
"X-API-Key": "chanl_key_abc123..."
}
}
}
}Now the agent gets lookup_order, kb_search, and memory_search -- nothing else.
Verify the toolset
chanl toolsets get support-toolsToolset: Support Tools
────────────────────────────────────
ID: toolset_abc123
Slug: support-tools
Endpoint: https://acme.chanl.dev/support-tools
Tools (3):
- lookup_order (tool_abc123)
- kb_search (system)
- memory_search (system)MCP Commands
| Command | Description |
|---|---|
chanl mcp config | Generate MCP config for a client |
chanl mcp test | Test the MCP connection and list tools |
chanl mcp status | View MCP server status |
chanl mcp logs | View MCP server logs |
Config options
| Option | Description |
|---|---|
--output <client> | Client format: claude, cursor, generic |
--toolset <slug> | Specific toolset (default: admin-tools) |
Test options
| Option | Description |
|---|---|
--toolset <slug> | Test a specific toolset endpoint |
--json | Output as JSON |
Logs
chanl mcp logs
chanl mcp logs --tailAuthentication
All MCP requests require an X-API-Key header. Keys are workspace-scoped.
| Header | Required | Value |
|---|---|---|
X-API-Key | Yes | Your workspace API key |
Content-Type | Yes | application/json |
Accept | Yes | application/json, text/event-stream |
Create keys in the dashboard at Settings > API Keys. Each key is scoped to one workspace.
Multiple Workspaces
Configure separate MCP servers for different environments:
{
"mcpServers": {
"chanl-production": {
"type": "streamablehttp",
"url": "https://acme.chanl.dev/support-tools",
"headers": {
"X-API-Key": "chanl_key_prod..."
}
},
"chanl-staging": {
"type": "streamablehttp",
"url": "https://acme-staging.chanl.dev/support-tools",
"headers": {
"X-API-Key": "chanl_key_staging..."
}
}
}
}URL Pattern
| Environment | URL |
|---|---|
| Production | https://{workspace-slug}.chanl.dev/{toolset-slug} |
| Staging | https://{workspace-slug}.staging.chanl.dev/{toolset-slug} |
Security
Never commit API keys to version control. Use environment variables or your platform's secret management.
Scope toolsets to minimize exposure
A support agent does not need workspace_stats or memory_delete. Create focused toolsets:
chanl mcp config --toolset support-toolsRotate keys
If a key is compromised, revoke it in Settings > API Keys and generate a new one. Update the MCP config and restart clients.