sbis-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., "@sbis-mcplist my incoming documents for today"
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.
sbis-mcp
Read-only MCP server for Saby (СБИС) EDI — list/read documents and counterparties via the official JSON-RPC API, so agents can see legally significant paperwork without copy-paste.
⚠️ Unofficial. Not affiliated with Tensor LLC / Saby. Needs your own Saby account with API access.
v0.1 is read-only. Digital signatures (КЭП) and write paths are out of scope until v0.2.
⚠️ Неофициальный. Не аффилирован с ООО «Тензор» / Saby. Нужен свой аккаунт.
v0.1 — только чтение. КЭП и запись — не в этом релизе.
Proof — seven tools (v0.1)
Tool | SBIS method |
| — |
|
|
|
|
|
|
|
|
|
|
| GET by temporary link |
Writes (ЗаписатьДокумент, ПодготовитьДействие, …) stay off until v0.2 (writable, default false).
Related MCP server: procurement-knowledge-mcp
First use
Env (recommended):
export SBIS_LOGIN="<LOGIN>"
export SBIS_PASSWORD="<PASSWORD>"
# optional:
export SBIS_BASE_URL="https://online.sbis.ru" # test: https://fix-online.sbis.ru
export SBIS_ACCOUNT="<ACCOUNT>"Or ~/.sbis-mcp/config.json:
{
"login": "<LOGIN>",
"password": "<PASSWORD>",
"baseUrl": "https://online.sbis.ru",
"writable": false
}Build & run (Node.js ≥ 18):
npm install
npm run build
npm startClaude Desktop example: examples/claude_desktop_config.json.
Limits (from Saby docs)
Auth: ≤300 calls/min per IP
Session
sid: ~21 days (X-SBISSessionID)Attachment: ≤73 MB, up to 10 per document
Temporary file links: ~1 month
Source: saby.ru tech requirements
API docs: JSON-RPC format · auth · documents · counterparties
Live smoke & tests
Live smoke is manual (real account + tariff «Обмен с контрагентами»):
npm run build
SBIS_LOGIN="…" SBIS_PASSWORD="…" node scripts/live-smoke.mjsUnit tests mock RPC — no live account:
npm testLicense
MIT — see LICENSE.
Available Tools
7 toolssbis_configA
Check Saby/SBIS configuration status and setup instructions (read-only v0.1)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without any annotations, the description must fully disclose behavioral traits. It states 'read-only v0.1', which indicates safety, but fails to mention important details like authentication requirements, error behavior, or what actions are performed. The minimal disclosure leaves significant gaps.
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 sentence that conveys the tool's purpose and read-only nature with zero redundancy. Every word serves a purpose, making it highly concise and front-loaded with key 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?
Given the tool has no input parameters and no output schema, the description is somewhat minimal. It does not explain what 'configuration status and setup instructions' entails or the format of the output, leaving room for ambiguity. Could be more complete by specifying the kind of configuration details returned.
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 tool has 0 parameters, so the baseline is 4. The description adds no parameter information because there are none, which is adequate. No additional semantic context is needed beyond the 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?
The description clearly states the tool checks 'Saby/SBIS configuration status and setup instructions', identifying a specific action on a distinct resource. The sibling tools (e.g., sbis_list_documents, sbis_current_user) cover different functionalities, so this tool's purpose is well-differentiated.
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 when configuration status is needed, but lacks explicit guidance on when not to use it or how it compares to alternatives. No prerequisites or exclusions are mentioned, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sbis_current_userC
Current authenticated user (СБИС.ИнформацияОТекущемПользователе). КЭП auth not supported in v0.1.
| Name | Required | Description | Default |
|---|---|---|---|
| extraFields | No | ДопПоля, напр. «СписокВнешнихПровайдеров» |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses one behavioral trait: КЭП authentication is not supported in v0.1. However, without annotations, it lacks details on read-only nature, side effects, or authorization needs.
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, using a single sentence plus a parenthetical. No wasted words, though it could benefit from structured detail.
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?
Missing output schema and no description of return values. The description is too sparse for a tool with no annotations and one optional parameter, leaving gaps about what the user actually receives.
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 schema covers 100% of parameters with a description for extraFields. The tool description adds no extra meaning beyond the schema, so 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 clearly states the tool retrieves the current authenticated user, with a Russian name for reference. It distinguishes itself from sibling tools focused on documents, counterparties, and configuration.
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 guidance on when to use this tool versus alternatives. The description only mentions a limitation (КЭП auth not supported in v0.1) but does not provide usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sbis_get_attachmentA
Download attachment by temporary URL from read_document (GET, no sid). Pass includeContent:true for base64.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Документ.Вложение[].Файл.Ссылка | |
| includeContent | No | Include contentBase64 (large files up to 73MB) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions HTTP method and the includeContent parameter effect, but lacks details on error handling, response format, URL expiration, or size limits beyond what is in the schema.
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 sentence that conveys all essential information without any superfluous words. It is front-loaded and efficient, every part earns its place.
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?
The description is incomplete: it does not explain what the tool returns (e.g., binary file, base64 string, or something else), the response structure, or that the URL is temporary. Given no output schema, this omission is significant for an attachment download tool.
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 clarifies that the URL comes from read_document and that includeContent=true yields base64, adding marginal value over the schema. No significant new semantics are provided.
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 action (download), resource (attachment), and source (temporary URL from read_document). It also specifies HTTP method (GET) and authentication (no sid), making the purpose unambiguous and distinct from sibling tools.
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 the tool should be used after read_document to obtain the temporary URL, but it does not explicitly state when not to use it or provide alternatives. Usage context is inferred but not fully articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sbis_list_counterpartiesC
Search counterparties by INN/KPP/name (СБИС.СписокКонтрагентов)
| Name | Required | Description | Default |
|---|---|---|---|
| inn | No | ||
| kpp | No | ||
| name | No | ||
| page | No | ||
| query | No | INN or name | |
| pageSize | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It only states 'search' (implying read-only) but does not disclose pagination behavior, authentication needs, rate limits, or any side effects. Critical gaps remain.
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 concise with one sentence plus a parenthetical. No redundancy. However, it could be structured with bullet points or clearer separation of parameters. The brevity is good but at the cost of completeness.
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 six parameters, no output schema, and no annotations, the description is incomplete. It omits pagination details, parameter optionality, and return format. The tool requires more context for effective use.
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 description adds meaning for inn, kpp, and name parameters by stating 'Search counterparties by INN/KPP/name'. However, it does not explain query, page, or pageSize. Schema description coverage is low (17%), so the description partially compensates but is insufficient for all six parameters.
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 'Search' and resource 'counterparties' with criteria 'INN/KPP/name'. It conveys the core purpose, though it does not explicitly distinguish from sibling tools (which are all document-related, so differentiation is implicit).
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, such as sbis_list_documents or others. The description does not mention when to use or not use this tool, nor any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sbis_list_documentsC
List documents by type and period (СБИС.СписокДокументов). docType required: Реализация, Корреспонденция, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| mask | No | Маска по номеру/примечанию | |
| page | No | Страница (0-based) | |
| limit | No | Alias for pageSize | |
| state | No | Состояние документа | |
| dateTo | No | YYYY-MM-DD → ДатаПо | |
| docType | Yes | Тип документа (Тип) | |
| dateFrom | No | YYYY-MM-DD → ДатаС | |
| pageSize | No | РазмерСтраницы 1–200 | |
| direction | No | Направление | |
| counterpartyInn | No | ||
| counterpartyKpp | No |
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 does not disclose behavior beyond listing documents; missing pagination behavior, rate limits, authentication needs, or any side effects. Minimal disclosure for a read 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?
Two sentences, concise and front-loaded with purpose. The second sentence provides essential info about the required parameter. Some waste could be reduced by avoiding the Russian text in parentheses, but overall 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 11 parameters and no output schema, the description is too thin. It does not describe return format, pagination behavior, or how 'page' and 'limit' work. For a list tool, this is a significant 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 description coverage is high (82%), so baseline is 3. The description adds value by specifying that docType is required and giving example values ('Реализация, Корреспонденция, etc.'). It also implies period filtering via dateFrom/dateTo but does not elaborate on other parameters.
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 lists documents by type and period, with docType required and examples. However, it does not differentiate from the sibling tool 'sbis_list_documents_by_event', which lists documents by event. A higher score would require explicit distinction.
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 like 'sbis_list_documents_by_event'. There is no mention of prerequisites, contexts, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sbis_list_documents_by_eventC
Registry lists: Входящие / Исходящие / Ответы от контрагентов (СБИС.СписокДокументовПоСобытиям)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| state | No | ||
| dateTo | No | ||
| dateFrom | No | ||
| pageSize | No | ||
| registryType | Yes | ||
| counterpartyInn | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist. The description gives no information about side effects (e.g., read-only nature), authentication needs, rate limits, or pagination behavior. Minimal transparency; the tool is likely read-only but not stated.
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 very short (a single line), which is concise but at the expense of completeness. It front-loads the three registry types, but lacks structure or elaboration.
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 8 parameters and no output schema, the description is severely incomplete. It does not explain pagination, filtering, state, or counterparty INN. The agent has insufficient information to use the tool correctly.
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 description coverage is 0%, so the description must compensate. It only adds context for registryType by listing its enum values. Other parameters (page, limit, dates, etc.) are left entirely unexplained, leaving the agent with no semantic guidance.
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 mentions 'Registry lists' with three categories (incoming/outgoing/responses), which implies listing documents by event type. However, it does not explicitly state 'list documents by event' in English, and the verb is implicit. The purpose is somewhat clear but vague.
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 siblings like sbis_list_documents. No context on prerequisites or exclusions. The description provides no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sbis_read_documentC
Full document card with attachments metadata (СБИС.ПрочитатьДокумент)
| Name | Required | Description | Default |
|---|---|---|---|
| editionId | No | Идентификатор редакции (optional) | |
| documentId | Yes | Идентификатор документа | |
| extraFields | No | ДопПоля |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, or error behaviors. The Russian parenthetical adds no clear behavioral context.
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 very short (one sentence) but lacks necessary information, making it under-specified rather than efficiently concise. It is not verbose, but it sacrifices completeness.
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 3 parameters, no output schema, and no annotations, the description is highly incomplete. It does not explain return values, side effects, or how to handle optional parameters, leaving significant gaps for an agent.
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% coverage, so the description does not need to add parameter details. It adds no meaning beyond what the schema already provides, meeting the baseline for high coverage.
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 reads a full document card with attachments metadata, using a specific verb+resource pattern. However, it does not differentiate from sibling tools like 'sbis_get_attachment' or 'sbis_list_documents', which might also involve reading document-related 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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or typical use cases beyond reading a document.
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.
7 tool updates
v0.1.0- First observed
sbis_config - First observed
sbis_current_user - First observed
sbis_get_attachment - First observed
sbis_list_counterparties - First observed
sbis_list_documents - First observed
sbis_list_documents_by_event - First observed
sbis_read_document
TDQS
Each tool has a clearly distinct purpose: user info, document listing by type, document listing by events, reading a document, counterparty search, attachment download, and config check. The two document listing tools are differentiated by their filter criteria.
All tools follow the 'sbis_<action>_<noun>' pattern except 'sbis_current_user' (noun phrase) and 'sbis_config' (noun), which are minor deviations. The majority use 'list', 'read', or 'get' as verbs, maintaining overall consistency.
Seven tools is an appropriate scope for a document management server, covering core retrieval operations without being overly numerous or sparse.
The server lacks any CRUD operations beyond reading and listing; there are no tools for creating, updating, or deleting documents or counterparties, which are essential for typical document workflows.
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 Connectors
DocBase MCP server for AI agents
MCP server that delivers up-to-date Bitrix24 REST API documentation.
Document-to-Markdown MCP server — convert PDF, Office and HTML into LLM-ready Markdown.
MCP server for the PDFGate API. Generate PDFs, manage documents and handle e-signatures.
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 gradedqualityDmaintenanceMCP server for querying procurement and inventory documents (invoices, purchase orders, etc.) via structured lookups, precomputed comparisons, and full-text search.-
- AlicenseBqualityCmaintenanceLightweight MCP server for 1C.ai integration, enabling queries, code analysis, and documentation search via natural language.82AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceMCP server for RAG-based search over 1C Enterprise configuration documentation, enabling natural language queries to find objects like справочники, документы, and отчеты.MIT
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/pyrfor/sbis-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server