MCP server for 1C REST API -- catalogs, documents. Basic Auth, configurable base URL.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"1c": {
"env": {
"ONEC_LOGIN": "логин",
"ONEC_BASE_URL": "http://server:8080/base",
"ONEC_PASSWORD": "пароль"
},
"args": [
"-y",
"@theyahia/1c-rest-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP-сервер для REST API 1С:Предприятие через OData 3.0 -- справочники, документы, регистры, отчёты.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y '@theyahia/1c-rest-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked @theyahia/1c-rest-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in data / developer-tools
Copy/paste detector for programming source code, supports 223 formats. AI-ready with token-efficient reporter, skill and MCP server.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Manage Supabase projects — databases, auth, storage, and edge functions
MCP Security Weekly
Get CVE alerts and security updates for io.github.theYahia/1c-rest-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
MCP server for 1C:Enterprise REST API via OData 3.0 — catalogs, documents, registers, accounting, constants, reports, batch ops & change-tracking + metadata discovery. 32 tools across 11 modules. HTTP Basic auth. Stdio + Streamable HTTP transports.
If you starred or used v1.x, the v2.0.0 release introduces a few breaking changes:
PORT=3000 → HTTP_PORT=3000.1c-rest-mcp-http is gone. Use 1c-rest-mcp --http or HTTP_PORT=3000 1c-rest-mcp instead.bin entrypoint: dist/http.js is no longer published.@theyahia/mcp-core's BaseHttpClient with BasicAuthStrategy. The exported functional API (oneCGet/oneCPost/oneCPatch/buildODataPath) is unchanged, so tool code keeps working.CallToolResult with isError: true (via withErrorHandling from @theyahia/mcp-core). Compatible with all MCP clients.Tool names, arguments, return formats, and the ONEC_* env vars are unchanged.
Tools are grouped into modules. All are registered by default; the
ONEC_SERVICESenv var filters which optional modules load (discoverymetais always on). See Environment Variables.
meta (always enabled)| Tool | Description |
|---|---|
list_entities | List all available 1C OData entities (catalogs / documents / registers / reports). Use this first when working with an unfamiliar database. |
get_document_by_number | Locate a 1C document by its number (e.g. invoice ТД-00123 dated 2026-03-01). Convenience wrapper over $filter. |
get_metadata | Return the raw OData $metadata (EDMX/XML) describing every entity, field and type. |
describe_entity | List an entity's fields by inspecting one sample record ($top=1) — cheaper than full $metadata. |
catalogs| Tool | Description |
|---|---|
get_catalogs | Read 1C catalog data. Supports $filter, $select, $orderby, $top, $skip. |
create_catalog_item | Create a new catalog item via OData POST (e.g. add a Контрагент or Номенклатура). |
update_catalog_item | Update a catalog item via OData PATCH (by Ref_Key GUID). |
documents| Tool | Description |
|---|---|
get_documents | Read 1C documents with full OData filtering. |
create_document | Create a new document via OData POST. |
update_document | Update an existing document via OData PATCH (by Ref_Key GUID). |
post_document | Post (провести) a document via the OData bound action Post(). operational toggles оперативное проведение. |
unpost_document | Unpost (отменить проведение) a document via Unpost(). |
delete_document | Physically delete a document via OData DELETE. Prefer set_deletion_mark for a recoverable soft delete. |
get_document_lines | Read a document's tabular section (строки, e.g. Товары) by Ref_Key via $expand. Section name is config-specific — discover via get_metadata/describe_entity. |
registers| Tool | Description |
|---|---|
get_register | Read information or accumulation register data. |
write_information_register | Write a record into an independent information register (POST on InformationRegister_*). |
get_accumulation_balance | Accumulation-register balances (остатки) via the OData virtual method Balance(Period=…,Condition=…). |
accounting| Tool | Description |
|---|---|
get_accounting_register | Read accounting-register records (AccountingRegister_*, e.g. |