MCP server and Telegram bot for BAS OData
mcp_claude_1c
A stdio MCP server over BAS OData with an entity whitelist, a FastAPI layer, a Telegram bot backed by Claude or Groq, and Grafana and Loki monitoring
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- The create MCP tool writes new documents into the BAS database for configured entities
- The Telegram token and LLM provider keys are stored in .env
Install
Manual install
docker compose upBrings up FastAPI, the Telegram bot and the monitoring stack; the MCP server itself is not exposed over HTTP directly. Fill .env first.
This is third-party code. Review the repository files before installing.
What it does
The project gives an agent access to a BAS database (a 1C:Enterprise-family accounting platform used in Ukraine and the CIS) over OData. On startup, the MCP server fetches $metadata from a FastAPI service, filters entities through BAS_ENTITY_WHITELIST, and dynamically generates query and create tools with operations that depend on the entity type: catalogs support search, documents only list and get by id. A separate Telegram bot built with aiogram uses the same tools and talks to a model chosen through a factory, either Claude or Groq. Service logs go to Loki through Promtail and are visible in Grafana.
Who it is for. For developers integrating an agent with a BAS database over OData who want a ready Telegram interface on top of it.
Good fit when
- Your OData database runs on the BAS platform with entities like Document_АктВыполненныхРабот
- You want to restrict the agent to a whitelist of entities instead of the whole database
- You need a Telegram bot with access to the same MCP tools as the agent
Not a fit when
- Your database is not BAS and does not serve OData $metadata in a compatible format
- You need to work fully without external LLMs: both LLM_PROVIDER options, Claude and Groq, need a cloud API key
- The repository's README is empty, so setup requires reading the source directly
Example request
Through the Telegram bot, find last month's act of completed works for a specific counterparty in BASLimitations
The repository README is empty; all install and environment variable details here come from reading the source and docker-compose.yml. Some code comments are in Ukrainian. It needs an ANTHROPIC_API_KEY or GROQ_API_KEY depending on LLM_PROVIDER, both foreign cloud providers. The create operation in the MCP server is hardcoded to two entities in the source; changing that requires editing the code.
How to disable. Stop the stack with docker compose down; for the Telegram bot alone, stop the bot service.
MCP
- Transport
- stdio
- Authentication
- not required
| Environment variables | |
|---|---|
| FASTAPI_URL required | Address of the FastAPI service the MCP server queries for metadata and data |
| BAS_ENTITY_WHITELIST | Comma-separated list of BAS entities with wildcard support; empty means all entities |
| LLM_PROVIDER required | claude or groq, determines which cloud API key the bot needs |
| TELEGRAM_BOT_TOKEN required, secret | Telegram bot token from BotFather, needed only to run the bot |
Security check
- The create MCP tool writes new documents into the BAS database for configured entities
- The Telegram token and LLM provider keys are stored in .env
README in short
The repository's README is empty, so the project's purpose is reconstructed from the code layout: docker-compose.yml brings up a FastAPI service, an MCP server, a Telegram bot and a Loki, Promtail and Grafana monitoring stack; pyproject.toml lists aiogram, anthropic, groq, mcp and fastapi as dependencies; docstrings in mcp_server/server.py and llm/factory.py describe the tool-generation logic and LLM provider choice.
FAQ
Is this an MCP server specifically for the Russian 1C?
No, based on the code and entity names this targets BAS, a 1C:Enterprise-family platform used in Ukraine and the CIS. The repository name mentions 1c, but the database itself is not the Russian product.
Can it run without Claude or Groq?
Based on the llm/factory.py source, only those two providers are supported, both cloud and foreign.
Related
A skills library that gives coding agents a development process: brainstorming, planning, TDD, subagents and code review
Skills for real engineers by Matt Pocock
Skills For Real Engineers
Small composable skills for engineering with agents: plan grilling, TDD, bug diagnosis, code review and architecture
GitHub toolkit for spec-driven development: the specify CLI adds agent commands and skills to a project, from principles to implementation
Reference MCP servers
Model Context Protocol servers
Official reference MCP servers: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time and Everything