Overview
What is MCP?
The Model Context Protocol (MCP) is an open standard created by Anthropic that lets AI assistants connect to external tools and data sources in a controlled, auditable way. Instead of giving AI models direct access to your systems, MCP defines a structured protocol where each request is authenticated, scoped, and logged.
Horizon exposes its Superconsultant, an AI-powered organizational analysis agent, through MCP. This means your team can query Horizon from compatible AI clients (such as Claude Desktop or Cursor) while the same permission model, access controls, and audit trails from the Horizon web application remain in place. No new permission layer is introduced. No data leaves Horizon's infrastructure.
Security & Architecture
Enterprise-grade by design
Authenticated access
Every MCP connection requires a unique bearer token generated from the user's authenticated Horizon session. Tokens are cryptographically random and can be revoked at any time by the user or an admin.
Same permissions as the web app
MCP does not introduce a separate permission model. The token inherits the exact access scope of the user who generated it: same companies, same workspaces, same data boundaries. No escalation path exists through MCP.
Encrypted transport
All communication between the AI client and Horizon's MCP server uses HTTPS with TLS 1.2 or higher. Data in transit is encrypted end to end. No intermediate caching or third-party relay is involved.
Audit logging
Every request made through MCP is logged with full context: user identity, company, workspace, timestamp, and request type. These logs are available to organization administrators for compliance review.
How data flows
When a user sends a question through an MCP-compatible AI client, the request is forwarded to Horizon's MCP server over HTTPS. The Superconsultant processes the question using only data the user is authorized to access. The response returns to the AI client. At no point does the AI client receive raw database access or bulk data exports. Each interaction is a scoped, read-only query.
Token lifecycle
- Users generate tokens from their Horizon account settings after authenticating.
- Only one active token per user at any time. Generating a new token automatically invalidates the previous one.
- Tokens are shown once at creation. If lost, the user revokes and regenerates.
- Revoking a token is immediate and permanent. No grace period.
- Tokens are independent from web sessions: logging out of the Horizon web app does not invalidate an MCP token, and vice versa.
What MCP can and cannot do
- Can: Ask the Superconsultant questions about processes, insights, discovery cycles, and organizational data the user has access to.
- Cannot: Modify data, create records, delete information, or access data outside the user's permission scope.
- Cannot: Bypass SSO, 2FA, or any identity provider controls configured for the organization.
- Cannot: Export bulk data or provide direct database connectivity.
Compliance
Built for regulated environments
- SOC 2 Type II compliant infrastructure. Horizon's hosting, data handling, and access controls are independently audited.
- GDPR-ready data handling. Personal data processing follows data minimization principles. Users and admins can control data retention.
- Enterprise SSO support. MCP tokens inherit user identity from SSO-authenticated accounts (SAML, OIDC). No separate credentials needed.
- Rate limiting per token to prevent abuse. Configurable thresholds by organization administrators.
- No additional data copies. MCP requests are processed by the same infrastructure that serves the Horizon web application.
Setup manual
How to connect the Horizon MCP to Claude
This guide walks you through connecting the Horizon MCP (horizon-production) to the Claude desktop app, step by step: edit the config file, paste the Horizon JSON, generate the token, and paste it into the config.
The Horizon MCP gives Claude access to the data in your Horizon account (accounts, signals, etc.) through a remote server. It connects using mcp-remote with a Bearer token.
Prerequisites
- Have the Claude desktop app installed (Mac or Windows). MCP configuration is not available in the web version.
- Have Node.js and npx installed (mcp-remote needs them). If you don't, download the LTS version from nodejs.org/en/download.
- A Horizon account with permission to generate an access token.
Open Settings
- Open the Claude desktop app.
- Go to Settings. On Mac you can also use the ⌘ + comma shortcut.
Go to the Developer section
- Inside Settings, select the Developer tab in the side menu.
- That is where the MCP server configuration lives.
Open the config file
Click Edit Config. This opens or creates the claude_desktop_config.json file, which you can edit with your text editor. The paths are:
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.jsonPaste the Horizon JSON
Paste the following block into the file. If the file is empty, paste the full structure:
{
"mcpServers": {
"horizon-production": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usehorizon.ai/assistant/mcp/",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer (TOKEN)"
}
}
}
}If you already have other MCPs configured, add horizon-production inside mcpServers, separated by a comma. Do not delete the existing ones.
Create the token in Horizon
The token authenticates Claude with Horizon. To generate it:
- Go to app.usehorizon.ai/mcp with your account. You can also get there from your account menu (avatar, bottom left), under MCP Connection.
- That screen shows two blocks: Server Information (with the MCP Server URL, the same one from the JSON) and API Tokens.
- In API Tokens, click + Generate Token.
- Give it a name that identifies the client (for example Claude-Juan) and confirm.
- Copy the token right away. It is shown only once.
Only one token can be active at a time. Generating a new token revokes the previous one, so any client still using the old token will stop working until you update its config.
Treat the token like a password. Do not share it or push it to public repositories. If it leaks, generate a new one from the same screen (that revokes the old one).
Paste the token into the config
Go back to the claude_desktop_config.json file and replace (TOKEN) with the token you copied, keeping the word Bearer and the space before the token. Then save the file.
"env": {
"AUTH_HEADER": "Bearer tok_your_real_token_here"
}The value should read Bearer, a space, then the token. If you delete Bearer or the space, authentication fails.
Restart Claude
- Quit the Claude app completely. Use Quit, closing the window is not enough.
- Open it again. The app loads the configuration and starts the Horizon server via mcp-remote.
Check that it works
- In a new conversation, open the tools menu (the tool icon) and confirm the horizon-production tools show up.
- Ask a question that uses Horizon and check that it answers with real data.
Common errors
| Problem | Likely cause | Fix |
|---|---|---|
| Authentication error (401) | Invalid or expired token, or the word Bearer was deleted. | Regenerate the token and keep the value as Bearer followed by the token. |
| npx or mcp-remote not found | Node.js is missing. | Install Node.js and restart Claude. |
| The Developer tab does not show up | You are on the web version. | Use the desktop app. |
| Changes have no effect | The app was not fully restarted. | Quit completely and open it again. |
Documentation
Download the MCP guidelines
Get a complete reference document covering Horizon's MCP security model, data flow, compliance posture, and token management. Ready to share with your procurement, legal, or IT security team.