Semaphor
MCP

Connect an AI Client

Log in from Claude Code, Codex, claude.ai, ChatGPT or Cursor and ask questions about your data.

Connect your AI client to Semaphor and ask questions about your analytics. You log in once with your Semaphor account, and the agent works across every project you belong to, with your role and permissions.

Add Semaphorto your AI clientLog inwith your SemaphoraccountAskthe agent discoversand queriesAnswergoverned byyour access

You need a Semaphor account (organization user) with access to at least one project. For automation or an agent inside your own product, use a token instead: see Connect with a Token.

Pick Your Client

Claude Codeplugin

The Semaphor plugin adds the MCP server and an analytics skill that teaches the agent the discovery and query workflow.

Codexplugin

The same plugin for Codex, with the same skill.

claude.aicustom connector

Add Semaphor as a custom connector in Claude settings.

ChatGPTdeveloper mode

Create an app for Semaphor in ChatGPT developer mode.

Cursormcp.json

Add the server URL to your Cursor configuration.

Claude Code

Install the plugin

claude plugin marketplace add semaphor-analytics/agent-plugin
claude plugin install semaphor@semaphor-analytics

Or, inside a Claude Code session, run /plugin marketplace add semaphor-analytics/agent-plugin, then /plugin install semaphor@semaphor-analytics. Restart Claude Code, or run /reload-plugins, so it picks up the plugin.

Log in

Run /mcp, choose semaphor, and complete the login in your browser.

Check the connection

In a session, /mcp shows the semaphor server and its login state. From the terminal, claude plugin list shows the plugin.

claude plugin marketplace update semaphor-analytics

If Claude Code still shows an older plugin, reinstall it:

claude plugin uninstall semaphor@semaphor-analytics
claude plugin install semaphor@semaphor-analytics
claude plugin uninstall semaphor@semaphor-analytics
claude plugin marketplace remove semaphor-analytics

Codex

Install the plugin

codex plugin marketplace add semaphor-analytics/agent-plugin
codex plugin add semaphor@semaphor-analytics

Log in

codex mcp login semaphor

Check the connection

codex plugin list --marketplace semaphor-analytics
codex mcp list
codex plugin marketplace upgrade semaphor-analytics

If Codex still shows an older plugin, reinstall it:

codex plugin remove semaphor@semaphor-analytics
codex plugin add semaphor@semaphor-analytics
codex plugin remove semaphor@semaphor-analytics
codex plugin marketplace remove semaphor-analytics

claude.ai

Custom connectors need a Claude plan that supports them.

Add a custom connector

In Claude, open Settings, go to Connectors, and click Add custom connector.

Enter the server

Name it Semaphor and enter the server URL, then click Add:

https://semaphor.cloud/api/mcp

Sign in

When redirected, sign in with your Semaphor account and authorize the connection. claude.ai registers itself with Semaphor's login server, so you don't need a client ID.

ChatGPT

ChatGPT needs developer mode for custom MCP servers.

Turn on developer mode

In ChatGPT, open Settings, then Apps, then Advanced, and turn on Developer mode.

Create an app

Click Create app and paste the server URL:

https://semaphor.cloud/api/mcp

Sign in

Sign in with your Semaphor account when ChatGPT asks.

Cursor

Add the server

~/.cursor/mcp.json
{
  "mcpServers": {
    "semaphor": {
      "url": "https://semaphor.cloud/api/mcp"
    }
  }
}

Sign in

When Cursor connects, complete the Semaphor login in your browser. If the tools don't show up, restart Cursor and check that the file is valid JSON (no trailing commas).

To try what an automation or embedded agent will see, connect Cursor with a token instead: see Connect with a Token.

Ask Your First Question

Start a new conversation and ask:

What data can I analyze in Semaphor?

If you belong to one project, the agent uses it automatically. If you belong to several, it lists them and asks which one you mean, then passes that projectId on each call. To switch, name the other project.

Example session
You: "What data can I analyze in Semaphor?"

Agent calls: semaphor_list_projects
Agent: "You have 3 projects: Sales, Marketing and Operations. Which one should I use?"

You: "Sales. How many orders did we get last month?"

Agent calls: semaphor_get_analysis_context with projectId "p_abc123"
Agent calls: semaphor_list_semantic_domains, semaphor_list_datasets
Agent calls: semaphor_get_dataset_schema with datasetName "orders"
Agent calls: semaphor_analyze with a previous-month timeWindow
Agent: "You received 4,328 orders last month, up 12% from the month before."

You: "Break that down by region"

Agent calls: semaphor_analyze with region as a dimension
Agent: "West: 1,456 (34%), East: 1,198 (28%), Central: 892 (21%), South: 782 (18%)"

Other questions to try:

How did revenue change last quarter, and what drove it?
Which regions are behind target this month?
Check whether my sales dashboard's numbers are right.

See Discover and Query for how the agent finds the right data.

Read and Write Access

A login grants read access by default: discovery, queries and dashboards. To let the agent create dashboards or add relationships to a semantic model, you need both:

  • An organization role of Author or higher
  • The mcp:write scope, which your client asks for when it requests mcp:read mcp:write at login

Without both, the change tools don't appear. Every change is previewed before it's applied: see Making Changes.

Self-Hosted Semaphor

On a self-hosted install, use your Semaphor URL followed by /api/mcp wherever this page uses https://semaphor.cloud/api/mcp.

If Something's Missing

  • The tools don't appear: restart the client (/reload-plugins in Claude Code), then check /mcp or codex mcp list for the semaphor server.
  • The server needs a login: complete it with /mcp in Claude Code or codex mcp login semaphor in Codex.
  • A tool you expected is missing: ask the agent to call semaphor_get_access_context. It reports your access mode, scopes and whether SQL is available.

See Troubleshooting for more.

On this page