Skip to main content

Prerequisites

  • A Signa account with an organization (sign up)
  • An AI agent that supports MCP (Claude, ChatGPT, Cursor, etc.)

Claude Code

With API key (simplest):
claude mcp add signa https://api.signa.so/mcp -t http -h "Authorization: Bearer sig_live_YOUR_KEY"
With OAuth (browser login):
claude mcp add signa https://api.signa.so/mcp -t http
With OAuth, Claude opens a browser window for you to log in and authorize access on first use. After that, the connection persists across sessions.

Claude Desktop

Add to your claude_desktop_config.json:
{
  "mcpServers": {
    "signa": {
      "url": "https://api.signa.so/mcp",
      "type": "streamableHttp"
    }
  }
}
Restart Claude Desktop. You will be prompted to authenticate on first use.
Config location: ~/Library/Application Support/Claude/claude_desktop_config.json

ChatGPT

If your ChatGPT plan supports MCP connections:
  1. Go to Settings > Connected Apps > Add MCP Server
  2. Enter the server URL: https://api.signa.so/mcp
  3. Complete the OAuth login when prompted

Cursor

Add to your Cursor MCP settings (.cursor/mcp.json in your project or global settings):
{
  "mcpServers": {
    "signa": {
      "url": "https://api.signa.so/mcp",
      "type": "streamableHttp"
    }
  }
}

Other MCP clients

Any MCP client that supports Streamable HTTP transport can connect to Signa. Point it at:
https://api.signa.so/mcp
The client will automatically discover the OAuth authorization server via the /.well-known/oauth-protected-resource endpoint and guide you through authentication.

Authentication flow

When you first connect, your MCP client will:
  1. Call GET https://api.signa.so/.well-known/oauth-protected-resource to discover the auth server
  2. Redirect you to app.signa.so to log in (email/password or Google)
  3. Show a consent screen listing the permissions being requested
  4. Exchange the authorization code for a JWT access token
  5. Use the token for all subsequent MCP requests
The access token includes your organization context. All queries are scoped to your org, just like the REST API.

Verify the connection

After setup, test by asking your AI agent:
“Use Signa to search for NIKE trademarks in the US”
You should see the agent call the search_trademarks tool and return results from the USPTO.