Connect to your MCP client
The Metadata server speaks standard MCP over stdio and HTTP/SSE. Drop it into any MCP-compatible runner. Claude Code, Claude Desktop, Hermes, Paperclip, OpenClaw, or a custom agent harness.
Governed execution: Metadata has 299 public G2 reviews and the MCP workflow keeps campaign work reviewable before spend moves.
Claude Code
Easiest path, one command:
claude mcp add --transport http metadataone https://mcp-server.metadata.io/mcp
Or edit ~/.config/claude-code/mcp.json directly:
{
"mcpServers": {
"metadataone": {
"command": "npx",
"args": ["-y", "claude mcp add --transport http metadataone https://mcp-server.metadata.io/mcp"],
"env": {
"METADATA_API_KEY": "$METADATA_API_KEY"
}
}
}
}
Restart Claude Code. You'll see 141 tools from metadataone in the MCP status line.
Claude Desktop
Edit the Claude Desktop config file:
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Use the same JSON shape as Claude Code above.
Hermes
Hermes loads MCP servers from hermes.toml:
[mcp.metadataone] command = "npx" args = ["-y", "claude mcp add --transport http metadataone https://mcp-server.metadata.io/mcp"] env = { METADATA_API_KEY = "$METADATA_API_KEY" } [mcp.metadataone.scopes] read = true write = true launch = false # gate launches behind human approval
Paperclip & OpenClaw
Both use MCP over HTTP/SSE. Point them at our hosted endpoint:
mcp_servers:
- name: metadataone
transport: sse
url: https://mcp.metadataone.com/sse
headers:
Authorization: "Bearer $METADATA_API_KEY"
Custom agent (Python)
Using the official Anthropic SDK with MCP:
from anthropic import Anthropic from mcp.client import MCPClient mcp_client = MCPClient( command="npx", args=["-y", "claude mcp add --transport http metadataone https://mcp-server.metadata.io/mcp"], env={"METADATA_API_KEY": os.environ["METADATA_API_KEY"]}, ) client = Anthropic() tools = mcp_client.list_tools() response = client.messages.create( model="claude-opus-4-6", max_tokens=4096, tools=tools, messages=[{"role": "user", "content": "Build me an ICP audience of US SaaS VPs."}], )
Verify the connection
Regardless of which client you use, run this smoke test:
Use the metadataone MCP. Call get_account_details and report the account name, plan, and number of connected channels.
If the response includes your account name and channel count, you're connected. If it errors, check auth errors.
Buyer controls to keep visible
MCP should make campaign execution easier to automate, not harder to govern. A buyer evaluating Claude Code, Hermes, OpenClaw, or a custom agent should be able to see which tools are read-only, which create draft work, which can change existing campaign objects, and which can launch or move spend.
| Control | What to verify |
|---|---|
| Scopes | Use read, write, and launch permissions separately so an agent can inspect and draft without automatically spending budget. |
| Approval path | Keep campaign structure, creative assets, audiences, exclusions, and budget groups reviewable in the SaaS surface. |
| Audit trail | Record which client made the request, which tool ran, what changed, and who approved the launch decision. |
| Fallback | If the MCP client fails, route users back to the Metadata app or platform review surface rather than leaving work half-launched. |
You're wired in. Jump to the first-campaign walkthrough or browse the tool catalog.