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
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
Install
- Works in
- Services
Manual install
git clone https://github.com/XRAT-dev/1c-fresh-mcp.git && cd 1c-fresh-mcp && cp .env.example .env && bash install.shClone, fill in .env, and install dependencies with a connectivity check.
Access and checks
How we reviewBroad 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 rublesMCP
- Transport
- stdio
- Authentication
- not required
Environment variables
FRESH_BASE_URLrequired- 1C-Fresh publication URL without a trailing slash.
FRESH_PASSWORDrequired, 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.
Related
All 1C:Enterprise tools1C-Fresh CLI and MCP server
1C-Fresh: CLI и MCP
A Go CLI and local MCP server for 1C-Fresh over OData: products, prices, stock, customers, orders, sales and money
MCP server for 1C:Enterprise data over OData: receivables, sales, stock and cash, plus document creation and posting behind a separate flag
MCP server for 1C:Enterprise databases over standard OData: catalogs, documents, registers and accounting with no configuration extension
1C OData MCP server
1C OData MCP Server
A small Python MCP server that wraps standard 1C Управление предприятием OData read operations into three tools
1C OData MCP with a JSON cache
MCP сервер для работы с OData 1C
A Python MCP server over 1C OData: reads and changes catalogs and documents, saving everything to JSON files for local analysis without repeat queries
AI Finansist: MCP server for 1C
mcp_1c (AI Финансист)
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
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.