Installation
How to connect your AI assistant to 1CRM. Every user works with their own 1CRM login and only sees what they may see in 1CRM.
Claude · Microsoft Copilot · Gemini · ChatGPT · Technical details
Which route fits?
| Situation | Route |
|---|---|
| Company on Claude Team/Enterprise | Claude: organization connector recommended |
| Single user with Claude Desktop | Claude: extension (.mcpb) |
| Developers in the terminal | Claude Code, Gemini CLI, Codex CLI |
| Microsoft 365 / Teams | Copilot Studio or Microsoft 365 Copilot |
| Google Workspace | Gemini Enterprise |
| ChatGPT Business/Enterprise | ChatGPT app (developer mode) |
Prerequisites
- 1CRM Professional or Enterprise with the API enabled (Administration → System Settings → API).
- For the routes with sign-in through 1CRM (all organization connectors, ChatGPT, Gemini Enterprise): the 1CRM extension CRM Entra ID and a separate API client in 1CRM per AI tool, because the redirect URIs differ.
Sign-in through 1CRM (OAuth) is not set up on this server. The routes with 1CRM sign-in only become available once the operator configures PUBLIC_URL and the authorization server.
Claude
Organization connector (Team / Enterprise) recommended
An organization owner adds the server once. Every member then connects with a single click and signs in with their own 1CRM login — silently where SSO is in place. No local installation, no password hand-outs; the connector is available in Claude Desktop, on the web, on mobile and in Claude Code.
- In 1CRM, create a client under Administration → API Clients → New: grant type
authorization_code, redirect URIhttps://claude.ai/api/mcp/auth_callback, scopesreadandwrite— set Public client if no secret is used. Ask this server's operator to add the client ID toOAUTH_CLIENT_ID. - In Claude, under Organization settings → Connectors → Add → Custom, enter
https://beta.mcp.1crm.de/mcpas the URL (character for character) and put the client ID under Advanced settings — a secret only for a non-public client. - Each member clicks Connect once on the “1CRM” entry under Customize → Connectors and approves the access in 1CRM.
A connector's sign-in settings cannot be changed later — remove and re-add the connector to switch.
Vendor docs: Custom connectors via remote MCP
Claude Desktop: one-click extension
For single users without admin rights or without a Team/Enterprise plan. The extension bundles everything (incl. the Node runtime) — no config files, no Node setup. Sign-in uses the 1CRM username and password; the CRM Entra ID extension is not required.
- In Claude Desktop, open Settings → Extensions and drag in the
.mcpbfile (or choose “Install extension …” under Advanced), then Install. - Enter the 1CRM address, username and password, optionally enable read-only.
- Done — 1CRM shows up right away with its tools.
Credentials stay local on the machine and only go to your 1CRM instance. Organizations can block or allow-list extensions centrally. If the tools do not show up in the chat, disable competing connectors such as “Claude in Chrome” for that chat.
Claude Code
With sign-in through 1CRM (own API client with a loopback redirect, public client):
- In 1CRM, create a client under Administration → API Clients → New: grant type
authorization_code, redirect URIhttp://localhost:8080/callback, scopesreadandwrite. Ask this server's operator to add the client ID toOAUTH_CLIENT_ID.
claude mcp add --transport http 1crm https://beta.mcp.1crm.de/mcp \ --client-id <CLIENT_ID> --callback-port 8080 # then in the chat: /mcp → 1crm → sign in
Or with the 1CRM login as a header:
claude mcp add --transport http 1crm https://beta.mcp.1crm.de/mcp \ --header "Authorization: Basic <BASE64_OF_USER:PASSWORD>"
Vendor docs: Claude Code and MCP
Microsoft Copilot
Copilot connects to the server directly over Streamable HTTP — no bridge, no local installation. A maker or admin sets it up once; the result is an agent used in Copilot and Teams.
Copilot Studio recommended
- Open the agent → Tools → Add a tool → New tool → Model Context Protocol.
- Enter the name “1CRM”, a short description and
https://beta.mcp.1crm.de/mcpas the server URL. - Authentication: OAuth 2.0 → Manual with the client ID and secret of a 1CRM API client and your 1CRM instance's
…/api.php/auth/user/authorizeand…/api.php/auth/user/access_tokenendpoints. Register the callback URL shown after Create as the API client's redirect URI. Without the CRM Entra ID extension: API key → HeaderAuthorizationwith the valueBasic …(untested). - Create → Add tool → create a new connection and add it to the agent.
- Publish the agent and enable the Teams and Microsoft 365 Copilot channel.
Requires a Copilot Studio or Microsoft 365 Copilot licence for the maker and Copilot credits in the tenant; Power Platform data policies apply.
Vendor docs: Connect your agent to an existing MCP server
Microsoft 365 Copilot (declarative agent)
For developers: in VS Code with the Microsoft 365 Agents Toolkit, create a declarative agent → Add an Action → Start with an MCP Server → enter the URL. Authenticate via OAuth (static registration).
- In 1CRM, create a client under Administration → API Clients → New: grant type
authorization_code, redirect URIhttps://teams.microsoft.com/api/platform/v1.0/oAuthRedirect, scopesreadandwrite. Ask this server's operator to add the client ID toOAUTH_CLIENT_ID.
Vendor docs: Declarative agents with MCP
Google Gemini
Gemini Enterprise
An admin creates a custom MCP server data store in the Google Cloud console (Business edition: Settings → Manage team → Connected apps → Add MCP server). OAuth sign-in only — static headers are not supported.
- In 1CRM, create a client under Administration → API Clients → New: grant type
authorization_code, redirect URIhttps://vertexaisearch.cloud.google.com/oauth-redirect, scopesreadandwrite— with a client secret. Ask this server's operator to add the client ID toOAUTH_CLIENT_ID. - Enter the server URL
https://beta.mcp.1crm.de/mcp, client ID and secret, authorization URL…/api.php/auth/user/authorize, token URL…/api.php/auth/user/access_token, scopesread write, and enable PKCE. - Reload custom actions and enable the wanted actions — they start disabled.
Vendor docs: Set up a custom MCP server
Gemini CLI
In ~/.gemini/settings.json:
{
"mcpServers": {
"1crm": {
"httpUrl": "https://beta.mcp.1crm.de/mcp",
"headers": {
"Authorization": "Basic <BASE64_OF_USER:PASSWORD>"
}
}
}
}
With OAuth instead of the header: omit headers; the CLI discovers the sign-in from the discovery document — sign in with /mcp auth 1crm.
Vendor docs: MCP servers in Gemini CLI
The Gemini app for personal accounts can add custom apps but is limited to personal Google accounts (US, English) and not suited for company use.
ChatGPT
ChatGPT adds the server as a custom app via developer mode (Plus, Pro, Business, Enterprise, Edu; web only). OAuth sign-in only — a 1CRM login as a header is not possible, so the CRM Entra ID extension is required.
- In 1CRM, create a client under Administration → API Clients → New: grant type
authorization_code, redirect URIhttps://chatgpt.com/connector_platform_oauth_redirect, scopesreadandwrite. Ask this server's operator to add the client ID toOAUTH_CLIENT_ID. - Enable Settings → Security and login → Developer mode (in Business/Enterprise only owners/admins can).
- Create a new app, enter
https://beta.mcp.1crm.de/mcpas the URL and put the API client's client ID (and secret, if any) under OAuth. - In Business/Enterprise, publish the app to the workspace after testing; each user signs in with their 1CRM login on first use.
ChatGPT asks for approval before write actions. OpenAI changes menu labels frequently.
Vendor docs: ChatGPT developer mode
Codex CLI
In ~/.codex/config.toml, then codex mcp login 1crm:
[mcp_servers.1crm] url = "https://beta.mcp.1crm.de/mcp" auth = "oauth"
Technical details
| Endpoint | POST https://beta.mcp.1crm.de/mcp |
| Transport | Streamable HTTP |
Authorization | Bearer <token> (sign-in through 1CRM) or Basic <base64(user:password)> |
X-OneCRM-Base-Url | optional — default: https://demo.1crm.de |
| Guardrails | X-OneCRM-Read-Only, X-OneCRM-Allow-Delete, X-OneCRM-Allowed-Modules — optional, tightening only |
| Status | /health |
Generate the Basic value: printf 'user:password' | base64
Redirect URIs for the API clients
| Claude (Connector) | https://claude.ai/api/mcp/auth_callback |
| Claude Code | http://localhost:8080/callback (port of your choice) |
| Microsoft 365 Copilot | https://teams.microsoft.com/api/platform/v1.0/oAuthRedirect |
| Copilot Studio | shown after creating the tool |
| Gemini Enterprise | https://vertexaisearch.cloud.google.com/oauth-redirect |
| ChatGPT | https://chatgpt.com/connector_platform_oauth_redirect |
Clients without remote MCP (stdio bridge)
Clients that only speak stdio connect through mcp-remote:
{
"mcpServers": {
"1crm": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://beta.mcp.1crm.de/mcp",
"--header",
"Authorization:${ONECRM_AUTH}"
],
"env": {
"ONECRM_AUTH": "Basic <BASE64_OF_USER:PASSWORD>"
}
}
}
}