MCP Setup Guide
Get your AI tools connected to Headvroom in minutes.
Step 1: Generate an API Key
- Users
- Developers
- Agents
Getting Your API Key
- Go to headvroom.com and sign in
- Click your avatar in the top-right corner (or click your account node in Matrix view)
- In the Settings panel, find the API Keys section
- Click + Generate New Key
- Give your key a name (e.g., "Claude Desktop" or "Cursor")
- Copy the key immediately — it won't be shown again!
Your API key grants full read access to all your graphs. If you think it's been compromised, delete it from Settings and create a new one.
Tips for Managing Keys
- Create one key per tool — If you stop using a tool, you can revoke just that key
- Use descriptive names — "Claude Desktop MacBook" is better than "Key 1"
- Check last used — Settings shows when each key was last used
API Key Generation
Endpoint: Settings panel in Headvroom web app (no direct API for key generation)
Key format: hv_ prefix followed by 32 alphanumeric characters
Key properties:
- Bound to creating user's account
- Full read access to user's graphs (no scope limiting yet)
- No expiration (manual revocation only)
- Usage tracking (last-used timestamp)
Storage recommendations:
- Environment variables (recommended)
- Secrets manager (AWS Secrets Manager, HashiCorp Vault)
- Never in source code or config files committed to git
# Good: Environment variable
export HEADVROOM_API_KEY="hv_xxxxxxxxxxxx"
# Bad: Hardcoded in config (don't do this)
"env": { "HEADVROOM_API_KEY": "hv_xxxxxxxxxxxx" } # In committed file
Verifying a Key
Test your key with a direct API call:
curl -H "Authorization: Bearer hv_your_key_here" \
https://headvroom.com/api/mcp/health
Expected response:
{ "status": "ok", "user": "user@example.com" }
Quick Key Setup
1. headvroom.com → sign in
2. Avatar (top-right) → Settings
3. API Keys → + Generate New Key
4. Name it, copy it, store securely
Key format: hv_ + 32 chars
Verify:
curl -H "Authorization: Bearer $HEADVROOM_API_KEY" \
https://headvroom.com/api/mcp/health
# → {"status":"ok"}
Step 2: Configure Your AI Tool
- Claude Desktop
- Claude CLI
- Cursor
- Windsurf
- Other Tools
Claude Desktop Setup
Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add this configuration:
{
"mcpServers": {
"headvroom": {
"command": "npx",
"args": ["-y", "@headvroom/mcp"],
"env": {
"HEADVROOM_API_KEY": "your-api-key-here"
}
}
}
}
If you already have other MCP servers configured, add headvroom as another entry inside mcpServers:
{
"mcpServers": {
"existing-server": { ... },
"headvroom": {
"command": "npx",
"args": ["-y", "@headvroom/mcp"],
"env": {
"HEADVROOM_API_KEY": "your-api-key-here"
}
}
}
}
After saving:
- Fully quit Claude Desktop (Cmd+Q on Mac, not just close window)
- Reopen Claude Desktop
- Try: "What graphs do I have in Headvroom?"
Claude CLI Setup
Add the MCP server with a single command:
claude mcp add --transport stdio --scope user headvroom \
--env HEADVROOM_API_KEY=your-api-key-here \
-- npx -y @headvroom/mcp
Verify it's configured:
claude mcp list
You should see headvroom in the list.
Test it:
claude "What graphs do I have in Headvroom?"
Removing the Integration
claude mcp remove headvroom
Cursor Setup
Config file: ~/.cursor/mcp.json
Create or edit this file:
{
"mcpServers": {
"headvroom": {
"command": "npx",
"args": ["-y", "@headvroom/mcp"],
"env": {
"HEADVROOM_API_KEY": "your-api-key-here"
}
}
}
}
After saving:
- Restart Cursor completely
- Open a new chat
- Try: "Load my Headvroom project context"
Windsurf Setup
Config file: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"headvroom": {
"command": "npx",
"args": ["-y", "@headvroom/mcp"],
"env": {
"HEADVROOM_API_KEY": "your-api-key-here"
}
}
}
}
After saving:
- Restart Windsurf
- Start a new Cascade session
- Try: "What Headvroom graphs do I have?"
Generic MCP Configuration
For any MCP-compatible tool, use these settings:
| Setting | Value |
|---|---|
| Command | npx |
| Arguments | ["-y", "@headvroom/mcp"] |
| Environment | HEADVROOM_API_KEY=your-api-key-here |
| Transport | stdio |
Manual Testing
Run the MCP server directly to verify it works:
HEADVROOM_API_KEY=your-key-here npx -y @headvroom/mcp
The server will start and wait for input. Press Ctrl+C to exit.
Step 3: Verify Connection
- Users
- Developers
- Agents
Testing Your Connection
After restarting your AI tool, try these prompts:
-
Basic test: "What graphs do I have in Headvroom?"
- You should see a list of your graph names
-
Load context: "Load my [Graph Name] from Headvroom and summarize it"
- Replace
[Graph Name]with one of your actual graphs
- Replace
-
Search: "Search my Headvroom graphs for [topic]"
- Replace
[topic]with something in your graphs
- Replace
If these work, you're all set!
Not Working?
See the Troubleshooting Guide for common issues and solutions.
Verification Steps
1. Check MCP server starts:
HEADVROOM_API_KEY=hv_xxx npx -y @headvroom/mcp 2>&1 | head -5
Should show server initialization without errors.
2. Test API connectivity:
curl -s -H "Authorization: Bearer hv_xxx" \
https://headvroom.com/api/mcp/health | jq
3. Verify in Claude CLI:
claude mcp list
# Should show: headvroom (stdio)
4. Test resource access:
claude "Using the headvroom MCP, list all available graphs"
Debug Logging
For Claude Desktop, check logs at:
- macOS:
~/Library/Logs/Claude/mcp*.log - Windows:
%APPDATA%\Claude\logs\mcp*.log
Quick Verification
# 1. Test MCP server
HEADVROOM_API_KEY=hv_xxx npx -y @headvroom/mcp &
# Should start without error
# 2. Test API
curl -H "Authorization: Bearer hv_xxx" \
https://headvroom.com/api/mcp/graphs
# 3. Test in AI tool
# Prompt: "What graphs do I have in Headvroom?"
# Expected: List of graph names
Success criteria:
- MCP server starts without error
- API returns user's graphs
- AI tool can list graphs by name