1c-fresh-mcp

An MCP server for 1C-Fresh over standard OData: invoices, sales, counterparties, working around known 1C-Fresh OData quirks and the 22 percent VAT

  • 1 ★ on the repository
  • Last commit
  • MIT
MCP server

Broad access

Why this level

  • create_invoice and post_document create and post real documents in 1C-Fresh
  • mark_for_deletion flags objects and documents for deletion
All reasons and checks
Russian stack

xrat-dev/1c-fresh-mcp

Install

Manual install

git clone https://github.com/XRAT-dev/1c-fresh-mcp.git && cd 1c-fresh-mcp && cp .env.example .env && bash install.sh

Clone, fill in .env, and install dependencies with a connectivity check.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • create_invoice and post_document create and post real documents in 1C-Fresh
  • mark_for_deletion flags objects and documents for deletion

This is third-party code. Review the repository files before installing.

What it does

The server talks to the standard OData interface of the 1C-Fresh cloud service and gives the agent tools for catalogs (counterparties, products and services, organizations, bank payments) and documents (invoices and sales: create, read with the tabular section, post, unpost, mark for deletion). It works around 1C-Fresh-specific OData quirks: an INN filter that normally returns HTTP 500 is worked around with client-side filtering, an invoice's tabular section is sent inside the document body instead of a separate PATCH, and a counterparty's address is set with the right Вид_Key so it reaches the printable form. It ships a separate PDF invoice generator with an optional brand banner and automatic pagination for long tables.

Who it is for. For small business owners and bookkeepers on 1C-Fresh who need to issue invoices and track sales through an agent.

Good fit when

  • You need to quickly issue an invoice and get a ready PDF
  • You need to find a counterparty by INN without manually working around the OData error
  • You need to post or unpost a sales document

Not a fit when

  • You need standard desktop 1C, not the cloud 1C-Fresh service
  • You need low-level arbitrary OData calls beyond the ready odata_get, odata_post and odata_patch tools

Example request

Find the counterparty by INN 1234567890 and issue them an invoice for an ABB breaker at 3903.70 rubles

MCP

Transport
stdio
Authentication
not required

Environment variables

FRESH_BASE_URL required
1C-Fresh publication URL without a trailing slash.
FRESH_PASSWORD required, secret
Password of the OData user.
FRESH_USERNAME
OData user, defaults to odata.user.

Limitations

Built only for 1C-Fresh's standard OData interface, with the oldest supported publication being 8.3.5 in Atom format. Needs Python 3.10+ and a user with OData access. The PDF banner and bank details are set via environment variables and are empty by default.

How to disable. Remove the 1c-fresh server from your MCP client configuration.

FAQ

Why is the INN filter done client-side?

Because the standard $filter on INN in 1C-Fresh returns HTTP 500; the get_counterparty_by_inn tool fetches the list and filters itself.

How is the 22 percent VAT handled?

The server was built accounting for the 22 percent VAT rate in force since 2025, as noted in the project's own description.

How is the 1C:Fresh MCP server different from other 1C MCP servers?

The server works with cloud 1C:Fresh through standard OData: reference lists (counterparties, goods and services, organizations, bank payments) and documents (invoices, sales). It works around known 1C:Fresh OData limits and accounts for 22 percent VAT.

Why is the INN filter done on the client side and how is VAT handled?

1C:Fresh OData cannot filter by INN on the service side, so the server fetches data and filters it itself. The 22 percent VAT rate is built into the server calculations. Install by git clone and run per the README. It works in Claude Desktop and Claude Code. Risk is high.

Discussion

No questions or reviews yet.

1C-Fresh CLI and MCP server

1C-Fresh: CLI и MCP

Russian stack

A Go CLI and local MCP server for 1C-Fresh over OData: products, prices, stock, customers, orders, sales and money

MCP serverBroad access2Repository stars
Russian stack

MCP server for 1C:Enterprise data over OData: receivables, sales, stock and cash, plus document creation and posting behind a separate flag

MCP serverBroad access47Repository stars
Russian stack

MCP server for 1C:Enterprise databases over standard OData: catalogs, documents, registers and accounting with no configuration extension

MCP serverBroad access13Repository stars

1C OData MCP server

1C OData MCP Server

Russian stack

A small Python MCP server that wraps standard 1C Управление предприятием OData read operations into three tools

MCP serverBroad access

1C OData MCP with a JSON cache

MCP сервер для работы с OData 1C

Russian stack

A Python MCP server over 1C OData: reads and changes catalogs and documents, saving everything to JSON files for local analysis without repeat queries

MCP serverBroad access4Repository stars

AI Finansist: MCP server for 1C

mcp_1c (AI Финансист)

Russian stack

An MCP server, a 1C OData client and a local language model bundled with a Gradio chat for questions about 1C data and uploaded PDFs

MCP serverBroad access

README in short

The bilingual README lists groups of MCP tools from a health check to low-level odata_get/post/patch, a table of known 1C-Fresh OData quirks with their workarounds, environment variables for connection and PDF generation, an example of using the Python connector directly, and a section on generating the invoice PDF in email and print variants.

README badge

Report a problem