bitrix-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bitrix-mcpget the Bitrix username for user123"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bitrix MCP Server for OpenWebUI
This repository contains a Docker-based Python MCP OAuth bridge for OpenWebUI and Bitrix.
Components
Dockerfileanddocker-compose.ymlfor containerized deploymentapp/main.py- FastAPI application exposing MCP and OAuth bridge endpointsapp/bitrix.py- Bitrix OAuth and API helper functionsapp/store.py- local OAuth client and short-lived authorization-state persistence
Related MCP server: bitrix24-mcp-server
Setup
Open inbound TCP ports 80 and 443 in the VPS firewall/security group. The public IP must be directly assigned to this VPS.
Copy environment values into a
.envfile (Docker Compose loads it automatically).Set
BITRIX_CLIENT_ID,BITRIX_CLIENT_SECRET,PUBLIC_HOST,ACME_EMAIL,TEMPLATE_ENCRYPTION_KEY,SQLITE_ADMIN_USERNAME, andSQLITE_ADMIN_PASSWORD. SetPUBLIC_HOSTto the public IPv4 address only, withouthttps://, a port, or a path. For this VPS it is147.45.38.205.Start the stack with:
docker compose up -d --buildCaddy is the public TLS endpoint. On its first boot it temporarily serves only
the ACME challenge on port 80; Certbot obtains a publicly trusted, six-day
Let's Encrypt certificate for PUBLIC_HOST, then Caddy starts HTTPS and
redirects HTTP to it. Certbot checks renewal every 12 hours and reloads Caddy
through a private Unix socket. The FastAPI container remains private inside the
Docker network. Do not publish port 8080.
SQLite inspector
/sqlite is served by the dedicated
sqlite-web container rather than the
MCP application. It provides schema browsing, pagination, exports, and SQL
queries, but receives the live database through a read-only volume.
Open:
https://147.45.38.205/sqliteThe browser prompts for SQLITE_ADMIN_USERNAME and
SQLITE_ADMIN_PASSWORD from .env. Caddy derives a bcrypt hash inside its
container; the plaintext password is never placed in the Caddyfile. The
database-client port is not published publicly.
OWU integration
OpenWebUI registers a unique OAuth client with this server at POST /register.
It then uses this server's /authorize and /token endpoints, discovered from
/.well-known/oauth-authorization-server. The bridge redirects the user to
the official Bitrix authorization page, exchanges the Bitrix authorization code
server-side, and returns the resulting access/refresh tokens to OpenWebUI.
OpenWebUI stores and refreshes those per-user tokens; tool calls use the bearer
token forwarded by OpenWebUI to POST /mcp. The server provides users_list,
create_task, and get_user_info; their MCP descriptions and schemas are in
Russian for use by Russian-language models.
Register exactly this callback URL in the Bitrix OAuth application:
<BASE_URL>/oauth/callbackFor this VPS, that is:
https://147.45.38.205/oauth/callbackUpdate the Bitrix local application's callback URL to this HTTPS URL, then update the OpenWebUI MCP connection URL to:
https://147.45.38.205/mcpCodespaces hosting
This app is ready to run in GitHub Codespaces. Expose port 8080 in Codespaces, then use the generated public URL to reach /mcp.
If GitHub shows an intermediate alert page for the public dev URL, continue through it in the browser so the real app endpoint is reachable.
OAuth flow
OpenWebUI dynamically registers at
/register.OpenWebUI redirects the user to this server's
/authorizeendpoint.The bridge redirects the user to official Bitrix authentication.
Bitrix redirects to
/oauth/callback; the bridge exchanges its code and sends a one-time authorization code back to OpenWebUI.OpenWebUI exchanges that code at
/token, stores the returned Bitrix tokens, and refreshes them through/tokenwhen needed.
Example tool call
curl -X POST https://147.45.38.205/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <bitrix-access-token>" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_user_info","arguments":{}}}'This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityCmaintenanceMCP server for interacting with Bitrix24 REST API, enabling CRUD operations on deals, contacts, companies, users, leads, and tasks, plus analytics and risk assessment.2
- Flicense-qualityDmaintenanceMCP server for Bitrix24 CRM integration, enabling AI agents to manage contacts, deals, tasks, and more via natural language.6
- Flicense-qualityCmaintenanceThis MCP server implements a secure OAuth 2.1 authorization server with Google login, enabling authenticated tool execution and a user interface for MCP applications.
- AlicenseBqualityAmaintenanceUniversal MCP server for the Bitrix24 REST API, enabling full read and write access to CRM, tasks, calendar, disk, and more. Supports any MCP client with stdio or Streamable HTTP transport.88MIT
Related MCP Connectors
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
Self-hosted federated MCP gateway: one OAuth 2.1 MCP server in front of N apps, user-level scopes.
MCP server for Appcircle mobile CI/CD platform.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/i1i1i1i1i1i11/mcp-bitrix'
If you have feedback or need assistance with the MCP directory API, please join our Discord server