@theyahia/1c-rest-mcp
OfficialThis server acts as an MCP gateway for 1C:Enterprise via its OData 3.0 REST API, enabling AI agents to discover, query, and manipulate business data. Key capabilities include:
Discover Structure: List all OData entities (catalogs, documents, registers, reports), fetch raw metadata, and describe specific entity fields.
Manage Catalogs: Read, create, and update catalog items with OData filtering, sorting, selection, and pagination.
Handle Documents: Read, create, update, post, unpost, and delete documents; locate by number or GUID; retrieve tabular sections.
Work with Registers: Read information/accumulation registers, write information register records, get accumulation balances, and read accounting register records.
Manage Constants: Get and set 1C constant values.
Shortcut Operations: Fuzzy-search by description, fetch by GUID (
Ref_Key), count entity records, set/clear deletion marks, retrieve recent documents.Generate Reports: Fetch 1C reports from configured HTTP service URLs.
Run Arbitrary OData Queries: Full support for
$filter,$select,$expand,$orderby,$top,$skip, and$inlinecounton any entity.Batch Operations: Batch-create documents, batch-update catalog items, and run multiple OData GET queries concurrently with bounded concurrency.
Track Changes: Poll for modified rows since a given timestamp using date field filters (no webhooks).
Guided Workflows (Prompts): Built-in multi-tool workflows —
inventory-database(database mapping),find-and-post-document(document management), andreconcile-balances(register comparison).Flexible & Secure Deployment: Runs via stdio or HTTP (with session management, CORS, graceful shutdown); supports HTTP Basic authentication and output sanitization.
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., "@@theyahia/1c-rest-mcpGet the document with number 'INV-001' and type 'Invoice'"
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.
aprovodka
MCP server for 1C:Enterprise — an AI agent reads and writes live 1C database data through the platform's own OData 3.0 interface. No configuration extension, no BSL.
34 tools · 11 modules · Node.js 18+ · stdio + Streamable HTTP
📄 Сайт продукта и услуги · 📖 Руководство пользователя (рус., 75 стр.) · 💬 Заказать сверку цифр
npx -y @theyahia/aprovodkaСхема вашей базы + сверка цифр — 12 000 ₽
Сервер бесплатный и открытый. Платная — работа по вашей базе, где всё держится на одном: самоделка на OData не падает, она молча отдаёт неверное число. Проверить это можно только на конкретной конфигурации.
Что входит, за одну информационную базу:
файл схемы под вашу конфигурацию — какие сущности есть, как они называются, что с чем связано;
список ловушек именно вашей базы — где запрос вернёт правдоподобное, но неверное;
отчёт сверки по 10 согласованным вопросам — ответ агента стоит рядом с цифрой из вашего же штатного отчёта 1С, строка в строку.
Срок — 5 рабочих дней. Приёмка — по совпадению цифр, критерий согласуем до начала. Предоплата 100%, чек НПД. Условия целиком — договор-оферта.
📧 leadmanager81@yandex.ru · 💬 @metarebalancer — ответим в рабочие дни, 10:00–19:00 МСК. Напишите, какая у вас конфигурация и опубликован ли OData.
Related MCP server: 1C MCP Server
What it does
Business data in a 1C database is closed to outside programs until someone writes a report, an external data processor, or an exchange for it. aprovodka removes that cycle: the OData 3.0 interface is published by the platform itself, and that is enough.
Coverage: catalogs, documents, all four register kinds, the accounting register including its virtual tables (balances, turnovers, ext-dimensions), constants, batch operations, change tracking, and metadata discovery.
What makes it different from the rest of the niche:
No BSL, nothing installed into the configuration. Six of the eight comparable servers require an extension in the database; the two that don't, don't touch live data.
Writes, not just reads. Create and update documents, post and unpost, deletion marks.
A write-safety gate. Three modes —
off,preview,approval— intercepted at a single point in the client, so no tool can bypass it. Reversible operations return a rollback token; irreversible ones are labelled with the reason.Curated configuration presets for БП 3.0, УТ 11, ЗУП 3.1 and ERP 2 — key entities with Russian descriptions, ready query examples, and the traps people hit.
Configuration
{
"mcpServers": {
"aprovodka": {
"command": "npx",
"args": ["-y", "@theyahia/aprovodka"],
"env": {
"ONEC_BASE_URL": "https://server/base/odata/standard.odata",
"ONEC_LOGIN": "user",
"ONEC_PASSWORD": "pass"
}
}
}
}Set ONEC_WRITE_MODE to preview or approval to enable the write gate (off by default,
byte-for-byte the previous behaviour). Full environment reference, per-tool documentation and
the module filter are in the monorepo README.
Where the code lives
Source, tests and releases live in the theYahia/WWmcp
monorepo, alongside the shared @theyahia/mcp-core. This repository is the product's front page.
Migrating from @theyahia/1c-rest-mcp
The package was renamed in v4.0.0 — «1С» may not be used in a product's name (Infostart rules, § 2.2.11). The old package is frozen at v3.2.0.
Install:
npx -y @theyahia/aprovodkaBinary renamed:
1c-rest-mcp→aprovodkaServer name in the MCP handshake is now
aprovodka— update the key if you pinned it
Everything else is unchanged: tool names, arguments, return formats, prompts, and the ONEC_*
environment variables (the 1C_* aliases still work). No config changes beyond the command.
Trademarks
aprovodka is an independent product. It is not a product of 1C Company and is not affiliated with it. «1С» and «1С:Предприятие» are trademarks of 1C Company; this product's name contains neither. Interaction with the database happens only through the open OData interface the platform itself provides.
License
MIT
Telegram: @vhodvai
Available Tools
9 toolscreate_documentB
Создание нового документа в 1С через OData POST.
| Name | Required | Description | Default |
|---|---|---|---|
| document_type | Yes | Тип документа (например, Document_РеализацияТоваровУслуг) | |
| data | Yes | Данные документа в формате JSON |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavior. It mentions OData POST but lacks details on idempotency, side effects, authentication requirements, error handling, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler words. It efficiently conveys the tool's essence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (2 params, no output schema, no annotations), the description is too minimal. It does not explain data format, constraints on document_type, or what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no extra meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action (create), resource (new document in 1C), and method (via OData POST). The tool name and sibling tools like get_document_by_number and update_document confirm it is the distinct creation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., update_document). No prerequisites, when-not-to-use, or context about document types or data preparation are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_catalogsA
Получение данных из справочников 1С через OData 3.0. Поддерживает фильтрацию, сортировку, пагинацию.
| Name | Required | Description | Default |
|---|---|---|---|
| catalog_name | Yes | Имя справочника (например, Catalog_Номенклатура) | |
| filter | No | OData $filter (например, Description eq 'Молоко') | |
| select | No | OData $select (например, Ref_Key,Description) | |
| top | No | Количество записей ($top) | |
| skip | No | Пропустить записей ($skip) | |
| orderby | No | OData $orderby (например, Description asc) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry full behavioral transparency. It mentions filtering, sorting, and pagination, but does not disclose whether the tool is read-only, has side effects, or requires special permissions. This minimal disclosure is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences that immediately convey the tool's purpose and key capabilities. No wasted words, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a query tool with 6 parameters and no output schema, the description covers the core functionality but lacks details on error handling, rate limits, authentication, or the shape of returned data. It is minimally complete but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context that the tool uses OData 3.0, which is relevant for formatting parameters, but does not provide additional detail beyond the schema descriptions. The value added is marginal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves data from 1C catalogs using OData 3.0, and lists supported operations (filtering, sorting, pagination). This distinguishes it from sibling tools like get_documents or get_report, which target different data types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for catalog data retrieval but does not explicitly state when to use or avoid this tool, nor does it mention alternatives. The context from sibling names provides some inference, but no clear guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_document_by_numberA
Найти документ в 1С по номеру. Удобная обёртка над OData $filter. Пример: найти накладную №ТД-00123 от 2025-03-01.
| Name | Required | Description | Default |
|---|---|---|---|
| document_type | Yes | Тип документа (например, Document_РеализацияТоваровУслуг) | |
| number | Yes | Номер документа | |
| date | No | Дата создания документа в формате YYYY-MM-DD (необязательно, сужает поиск) | |
| select | No | Поля для выборки через OData $select (например, Ref_Key,Number,Date) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions it's a wrapper over OData $filter, indicating a read operation, but does not disclose whether it returns a single document or multiple, error behavior, or authorization needs. Adequate but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences and an example. Front-loaded with purpose, no redundant information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema or annotations, the description is minimal. It explains the core functionality but lacks details on response structure, pagination, or edge cases (e.g., no match). Adequate for a simple query tool but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already describes each parameter (document_type, number, date format, select). The description adds an example but no additional semantic meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool finds a document by number in 1C, and provides an example with invoice number and date. It is specific and distinguishable from siblings like get_documents (which likely lists all) and odata_query (generic query).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies the tool is a convenient wrapper over OData $filter for finding by number, but does not explicitly state when to use it versus alternatives like odata_query or get_documents. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_documentsB
Получение документов 1С через OData 3.0. Фильтрация по дате, типу, произвольным полям.
| Name | Required | Description | Default |
|---|---|---|---|
| document_type | Yes | Тип документа (например, Document_РеализацияТоваровУслуг) | |
| filter | No | OData $filter (например, Date ge datetime'2024-01-01T00:00:00') | |
| select | No | OData $select | |
| top | No | Количество записей ($top) | |
| skip | No | Пропустить записей ($skip) | |
| orderby | No | OData $orderby |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description lacks behavioral details beyond basic retrieval. It does not disclose whether the operation is read-only, any required permissions, performance considerations, or side effects. For an unannotated tool, more context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, concise, and front-loaded with the core purpose. Every word adds value, and there is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 6 parameters and no output schema or annotations, the description omits important context such as response format, pagination behavior, or OData filter syntax usage. It is not sufficiently complete for an agent to fully understand the tool's capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already documents each parameter. The description adds only high-level filtering capabilities (date, type, arbitrary fields) which partially overlap with schema's 'filter' description but does not add new semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves documents from 1C via OData 3.0, with filtering by date, type, and arbitrary fields. The verb 'получение' and resource 'документы 1С' are specific, and it distinguishes from sibling tools like create_document or get_catalogs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for filtered document retrieval via OData, but provides no explicit guidance on when to use this tool versus alternatives like odata_query, get_catalogs, or get_document_by_number. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_registerC
Получение данных из регистров 1С (информационных и накопления) через OData 3.0.
| Name | Required | Description | Default |
|---|---|---|---|
| register_type | Yes | Тип регистра | |
| register_name | Yes | Имя регистра (например, ЦеныНоменклатуры) | |
| filter | No | OData $filter | |
| select | No | OData $select | |
| top | No | $top | |
| skip | No | $skip | |
| orderby | No | OData $orderby |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states that data is retrieved via OData 3.0, but does not disclose side effects, permission needs, pagination behavior beyond schema, or error handling. This is insufficient for a non-trivial tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that captures the core purpose. However, it sacrifices completeness for brevity, missing opportunity to add useful context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 7 parameters, the description is too sparse. It does not explain return values, OData syntax expectations, or how to construct effective queries. A tool of this complexity needs more context for proper invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters having descriptions. The description adds minimal extra meaning (e.g., 'OData 3.0' context). Since schema does the heavy lifting, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (получение/retrieving) and the resource (регистры 1С/1C registers), specifying two types (informational and accumulation). It does not explicitly distinguish from sibling tools like get_catalogs or get_documents, but the concept of 'register' is unique enough to provide some differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., odata_query or get_documents). There is no mention of conditions where this tool is appropriate or inappropriate, leaving the agent without decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reportC
Получение отчёта из 1С по произвольному URL HTTP-сервиса (/hs/...).
| Name | Required | Description | Default |
|---|---|---|---|
| report_url | Yes | Полный относительный путь к отчёту (например, /hs/reports/balance?date=2024-12-31) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It only states the basic action without disclosing side effects, authentication needs, error behavior, or response format. Critical missing information for an HTTP-based tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, and no extraneous content. Could be slightly more concise but is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (one required param, no output schema), the description is minimal. It lacks details on response type, error cases, or expected URL behavior, making it insufficient for full agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with clear description for 'report_url'. The tool description adds no new information beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets a report from 1C via an arbitrary HTTP service URL, specifying the resource and verb. However, it does not differentiate from sibling tools like get_documents or get_catalogs, which are distinct but not explicitly distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, limitations, or exclude certain cases, leaving the agent to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_entitiesA
Получить список всех доступных сущностей базы 1С: справочники (Catalog_*), документы (Document_*), регистры (AccumulationRegister_*, InformationRegister_*). Используй этот инструмент первым при работе с незнакомой базой 1С.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Фильтр по типу: all — все сущности, catalogs — справочники (Catalog_*), documents — документы (Document_*), registers — регистры (AccumulationRegister_*, InformationRegister_*), reports — отчёты (Report_*) | all |
| search | No | Подстрока для поиска в имени сущности (например, 'Номенклатура') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It states it returns a list of entities but does not disclose output format, pagination, limits, or side effects. For a simple listing tool, the lack of detail is acceptable but not thorough. It correctly implies a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the purpose (list of entities) and following with a usage tip. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's role as a discovery/metadata listing tool and the absence of an output schema, the description adequately covers what it does and when to use it. It could mention that it returns entity names/metadata, but the context of sibling tools (e.g., get_catalogs) implies that list_entities returns identifiers, not data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions on both parameters. The tool description adds a list of entity types matching the 'type' parameter but does not provide significant additional meaning beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a list of all available entity types (catalogs, documents, registers) in a 1C database, using specific prefixes. The name 'list_entities' aligns with this purpose and distinguishes it from sibling tools like 'get_catalogs' or 'get_documents' which retrieve actual data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises to use this tool first when working with an unknown 1C database, providing clear context for when to invoke it. Since siblings are more specific, this usage guidance helps the agent avoid unnecessary exploration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
odata_queryA
Произвольный OData 3.0 запрос к любой сущности 1С. Поддерживает $filter, $select, $expand, $orderby, $top, $skip, $inlinecount.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | Yes | OData-сущность (например, Catalog_Номенклатура, Document_СчётНаОплатуПокупателю) | |
| filter | No | $filter | |
| select | No | $select | |
| expand | No | $expand для связанных таблиц | |
| top | No | $top | |
| skip | No | $skip | |
| orderby | No | $orderby | |
| inlinecount | No | Добавить $inlinecount=allpages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Reveals it's OData 3.0 and supports standard query options. However, missing details like authentication requirements, rate limits, or response structure. Describes behavior minimally.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, second sentence listing capabilities. No unnecessary words, efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters and no output schema, the description does not explain the return format (likely an OData JSON envelope). However, for a technical audience familiar with OData, the description covers core usage. Could mention that output is a JSON array of entities, but not a major gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds context that the tool supports OData and lists operators, but this largely restates schema. No additional semantics like valid patterns or formatting hints beyond examples in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it performs arbitrary OData 3.0 queries to any 1C entity, listing supported query options. This distinguishes it from sibling tools like get_documents or list_entities which are likely simpler or specific entity queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. The description implies flexibility by listing supported OData features, but does not contrast with sibling tools like get_catalogs or get_documents that may be simpler, nor mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_documentB
Обновление существующего документа в 1С через OData PATCH.
| Name | Required | Description | Default |
|---|---|---|---|
| document_type | Yes | Тип документа | |
| ref_key | Yes | Ref_Key документа (GUID) | |
| data | Yes | Обновляемые поля |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses using OData PATCH, implying partial update, but lacks details on permissions, error handling, or idempotency. With no annotations, the description carries full burden but is incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded purpose, no wasted words. Could add usage guidance without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal description for a tool with 3 required params and no output schema; lacks return value info, error behavior, and usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description adds no additional meaning beyond schema parameter descriptions; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it updates an existing document in 1C via OData PATCH, distinguishing it from siblings like create_document and get_documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, no prerequisites or when-not-to-use information provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
9 tool updates
v1.2.1- First observed
create_document - First observed
get_catalogs - First observed
get_document_by_number - First observed
get_documents - First observed
get_register - First observed
get_report - First observed
list_entities - First observed
odata_query - First observed
update_document
TDQS
Most tools have distinct purposes, but get_documents and odata_query overlap somewhat since odata_query can retrieve documents as well. However, the specialized tools (get_document_by_number, get_catalogs, etc.) maintain clear boundaries.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., create_document, get_catalogs, update_document). No deviations or mixed conventions.
9 tools is well-scoped for a 1C REST server, covering documents, catalogs, registers, reports, and a generic query tool. Not excessive or insufficient.
Document lifecycle has create, read (multiple), update but lacks delete. No update or delete for catalogs/registers. Minor gaps like missing delete operations, but core read/write coverage is present.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server that delivers up-to-date Bitrix24 REST API documentation.
Odoo MCP Pack — ERP/CRM via Odoo's external JSON-RPC API.
MCP server for Codat — companies, connections, invoices, bills and financial statements.
ERP français avec serveur MCP natif : plus de 1 800 actions métier auto-générées via OpenAPI.
Related MCP Servers
AlicenseBqualityBmaintenanceMCP server for 1C:Enterprise ERP with 35 tools: metadata inspection, document CRUD, register queries, and BSP integration. First MCP server for Russian ERP systems (300,000+ organizations). JSON-RPC 2.0 compliant BSL implementation.5132MIT- FlicenseNot gradedqualityDmaintenanceActs as a bridge between AI agents (Claude, Cursor) and 1C:Enterprise databases, enabling metadata retrieval, configuration analysis, and code generation through natural language using the MCP protocol.-
- AlicenseNot gradedqualityAmaintenanceIntegrates AI agents with 1C:Enterprise databases via MCP and REST API, supporting a built-in HTTP server (no Python required) or a Python proxy mode.248GPL 3.0
- AlicenseNot gradedqualityAmaintenanceMCP сервер с встроенным AI агентом для поиска по графу метаданных и кода конфигураций 1С93AGPL 3.0
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/theYahia/aprovodka'
If you have feedback or need assistance with the MCP directory API, please join our Discord server