Skip to content

MCP Server Setup

Most MCP clients can be connected in about a minute. Use Cloud for the fastest path, or point a self-hosted client at your own MANAGANI instance.

Prerequisites

  • A running MANAGANI instance
  • For stdio only: a personal access token (generate in Settings > Access Tokens)

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

json
{
    "mcpServers": {
        "managani": {
            "command": "npx",
            "args": ["-y", "mcp-remote", "https://app.managani.com/mcp"],
            "env": {
                "ACCESS-TOKEN": "your-access-token"
            }
        }
    }
}

HTTP Transport

For remote MCP access via Streamable HTTP, MANAGANI now supports standard OAuth 2.1 discovery for MCP clients. OAuth-capable clients should connect to the MCP endpoint directly and follow the WWW-Authenticate challenge + Protected Resource Metadata flow automatically.

When a client needs approval, MANAGANI shows a simple OAuth consent screen in the same MANAGANI theme as the rest of authentication. The screen shows the requesting app, the active MANAGANI account, the exact requested access, and a collapsed technical details section with the client ID, redirect URI, and MCP resource.

The Cloud MCP endpoint is available at:

https://app.managani.com/mcp

The authorization server issuer is:

https://app.managani.com/oauth

No manual token setup is required for OAuth-capable HTTP clients.

ChatGPT / OpenAI connector setup

If ChatGPT or another OpenAI connector discovers OAuth automatically, you usually only need to enter the MCP server URL:

https://app.managani.com/mcp

The extra OAuth values are only needed when the client asks for them explicitly.

What the registration methods mean

  • Pre-registration — create the OAuth client in MANAGANI first, then paste its client ID and optional secret into the external tool
  • Dynamic Client Registration — the client registers itself against MANAGANI using the registration endpoint
  • Client ID Metadata Documents — only for clients that identify themselves with a client metadata document URL as the client_id; MANAGANI accepts public PKCE clients and private_key_jwt clients that publish jwks or jwks_uri

Dynamic registration accepts HTTPS redirect URIs, localhost HTTP redirect URIs, and reverse-domain private-use schemes for native clients, such as com.example.app:/oauth/callback.

These are capabilities, not clickable actions in MANAGANI.

For manual ChatGPT setup, start with User-Defined OAuth Client:

  1. Copy the Callback URL shown by ChatGPT
  2. In MANAGANI, open Settings → Access Tokens → OAuth
  3. Create a Pre-Registered OAuth Client
  4. Paste ChatGPT's callback URL into Redirect URIs
  5. Choose:
    • none for a public PKCE client
    • client_secret_post only if you want ChatGPT to use a client secret
  6. Copy the created Client ID back into ChatGPT
  7. Copy the Client Secret too only if you created a confidential client

When ChatGPT redirects you to MANAGANI, review the consent screen and click Allow access only if the app name, account, and requested access look correct.

ChatGPT field mapping

Use these values if ChatGPT asks for manual OAuth fields:

ChatGPT fieldValue
MCP Server URLhttps://app.managani.com/mcp
Auth URLhttps://app.managani.com/oauth/authorize
Token URLhttps://app.managani.com/oauth/token
Registration URLhttps://app.managani.com/oauth/register
Authorization server basehttps://app.managani.com/oauth
Resourcehttps://app.managani.com/mcp or https://app.managani.com
OIDCLeave disabled unless the client explicitly requires it

Notes for ChatGPT specifically

  • The Callback URL comes from ChatGPT, not from MANAGANI
  • The OAuth Client ID comes from the MANAGANI client you created
  • The OAuth Client Secret is only used when you create a confidential client
  • If ChatGPT offers Dynamic Client Registration and asks for a Registration URL, use the MANAGANI /oauth/register endpoint above

Codex changelog plugin

The managani-changelog team plugin creates unpublished changelog drafts after verified code changes. Each developer installs it in their own Codex account and provides a dedicated MANAGANI_ACCESS_TOKEN; never commit the token.

bash
codex plugin marketplace add /path/to/managani
codex plugin add managani-changelog@managani-team

Restart Codex or start a new task after installation. Use /hooks to review and trust the plugin hooks, then use /mcp to confirm that only list_sites, list_changelog, and create_changelog_draft are enabled. The token must be exported in the environment that launches Codex.

Single-product repositories use the site in .codex/managani-changelog.json. The shared Helpmonks repository always requires an explicit Helpmonks, Razuna, or both decision.

Environment Variables

VariableDescriptionDefault
ACCESS-TOKENPersonal access token for stdio transport
API_BASE_URLBase URL of the MANAGANI instancehttp://localhost:3000
MCP_BASE_URLPublic base URL of the MCP serverhttp://localhost:3002
SITE-IDOverride default site for stdioAuto-detected
PORTHTTP transport port3002

Shell syntax note

ACCESS-TOKEN and SITE-ID contain hyphens because they are read directly by the MCP server. In shell commands, pass them with env, for example:

bash
env 'ACCESS-TOKEN'=your-access-token 'SITE-ID'=your-site-id API_BASE_URL=https://your-instance.com node apps/mcp/server.js

HTTP Transport Headers

When using the HTTP or SSE transport, pass your credentials as headers instead of environment variables:

  • Authorization: Bearer <oauth-access-token> — recommended for MCP OAuth
  • Authorization: Bearer <access-token> — personal access token compatibility mode
  • Authorization: Token <access-token> — personal access token compatibility mode
  • access-token: <access-token> — alternative (mirrors Razuna MCP)
  • X-Site-Id: <site-id> — optional, overrides the default site

Default Site

On startup, the MCP server calls GET /sites and picks the site with is_default: true. Site-scoped tools such as save_url, create_feedback, and list_changelog fall back to this site when site_id is omitted.

Set SITE-ID (passed via env for stdio) or the X-Site-Id header (HTTP/SSE) to override this behavior.

Cursor (IDE)

After the MCP server appears under Cursor Settings → MCP, configure global User Rules and optional site rules so Agent chats search and store site context consistently. See Cursor (IDE).