Appearance
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/mcpThe authorization server issuer is:
https://app.managani.com/oauthNo 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 andprivate_key_jwtclients that publishjwksorjwks_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.
Recommended ChatGPT flow
For manual ChatGPT setup, start with User-Defined OAuth Client:
- Copy the Callback URL shown by ChatGPT
- In MANAGANI, open Settings → Access Tokens → OAuth
- Create a Pre-Registered OAuth Client
- Paste ChatGPT's callback URL into Redirect URIs
- Choose:
nonefor a public PKCE clientclient_secret_postonly if you want ChatGPT to use a client secret
- Copy the created Client ID back into ChatGPT
- 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 field | Value |
|---|---|
| MCP Server URL | https://app.managani.com/mcp |
| Auth URL | https://app.managani.com/oauth/authorize |
| Token URL | https://app.managani.com/oauth/token |
| Registration URL | https://app.managani.com/oauth/register |
| Authorization server base | https://app.managani.com/oauth |
| Resource | https://app.managani.com/mcp or https://app.managani.com |
| OIDC | Leave 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/registerendpoint 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-teamRestart 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
| Variable | Description | Default |
|---|---|---|
ACCESS-TOKEN | Personal access token for stdio transport | — |
API_BASE_URL | Base URL of the MANAGANI instance | http://localhost:3000 |
MCP_BASE_URL | Public base URL of the MCP server | http://localhost:3002 |
SITE-ID | Override default site for stdio | Auto-detected |
PORT | HTTP transport port | 3002 |
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.jsHTTP 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 OAuthAuthorization: Bearer <access-token>— personal access token compatibility modeAuthorization: Token <access-token>— personal access token compatibility modeaccess-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).