1C:Naparnik MCP bridge in Go
1c-copilot-mcp
A Go binary with 5 MCP tools for the 1С:Naparnik neural network that reads 1C code straight from a file path instead of through the model's context
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- Reads project files directly from disk within ALLOWED_CODE_PATHS and sends their content to the external code.1c.ai service
- Holds a paid access token in the client configuration's environment variables
Install
Manual install
git clone https://github.com/EugeneVl/1c-copilot-mcp.git
cd 1c-copilot-mcp
go buildBuild from source, requires Go installed.
This is third-party code. Review the repository files before installing.
What it does
The server provides five tools for the 1С:Naparnik API: a comprehensive code check, search across ITS and standard configurations, consultations, syntax explanations, and codebase exploration. Its key feature: code-handling tools accept a file_path and a line range instead of the code text itself, and the server reads the needed fragment straight from the project file, saving model context and avoiding corruption from copying through an LLM. File access is restricted by ALLOWED_CODE_PATHS. The platform version is added to every request automatically, sessions are reused with a TTL, and responses are normalized by NFKC and code markers. A separate 1c-copilot.md file is written in the first person for the AI model and must be loaded into context so the agent knows the tool-selection rules and the file_path parameter.
Who it is for. For 1C developers with a 1С:Naparnik token whose large BSL modules don't fit in the model's context when code is passed the usual way.
Good fit when
- The module is too large to paste whole into a prompt
- It matters that code reaches 1С:Naparnik without corruption from copying through the model
- You need access to 1С:Naparnik from VS Code, Cursor, Claude Desktop or Windsurf with one config
Not a fit when
- There is no 1С:Naparnik token from code.1c.ai
- You need to pass code directly as text rather than via file_path: then ALLOWED_CODE_PATHS and file reading aren't needed
- You need a ready binary without a manual build, and release v0.1.0 was the only one published at README time
Example request
Check the module at src/CommonModules/CommonUse/Module.bsl from line 100 to 250Limitations
Building from source requires Go installed; the alternative is a ready binary from the v0.1.0 GitHub release. File_path reading is only supported by the check_1c_code tool, the others accept text. Logging to 1c-copilot.log is written next to the binary and only enabled when ONEC_AI_LOG_FIELDS is set; care is needed not to log secrets. A paid 1С:Naparnik token with an ITS subscription is required; this is an independent community wrapper, not a vendor server.
How to disable. Remove the 1c-copilot block from your client's mcpServers config and delete the folder with the 1c-copilot-mcp.exe binary.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| ONEC_AI_TOKEN required, secret | Required code.1c.ai API token. |
| ALLOWED_CODE_PATHS | Allowed paths for reading files via file_path, defaulting to the current folder only. |
| ONEC_AI_LOG_FIELDS | List of fields to log (prompt, reasoning, answer); logging is off unless this is set. |
Security check
- Reads project files directly from disk within ALLOWED_CODE_PATHS and sends their content to the external code.1c.ai service
- Holds a paid access token in the client configuration's environment variables
README in short
The README describes a Go MCP server with 5 tools for 1С:Naparnik, an environment variable table, the file_path code-reading mechanism with its context-saving rationale and ALLOWED_CODE_PATHS access control, and logging setup via ONEC_AI_LOG_FIELDS. A large separate section is written as a step-by-step instruction for the AI model itself: how to ask the user about the install method, build from source or download the binary, get a token, and figure out the specific MCP client's config format before changing it.
FAQ
Why pass file_path instead of the code itself?
The server reads the fragment from the file itself, which saves model context on large modules and avoids text corruption from copying through an LLM.
Is loading 1c-copilot.md mandatory?
Yes, the README states that without this file the model doesn't know key rules, such as using file_path instead of code.
Related
A skills library that gives coding agents a development process: brainstorming, planning, TDD, subagents and code review
Skills for real engineers by Matt Pocock
Skills For Real Engineers
Small composable skills for engineering with agents: plan grilling, TDD, bug diagnosis, code review and architecture
GitHub toolkit for spec-driven development: the specify CLI adds agent commands and skills to a project, from principles to implementation
Reference MCP servers
Model Context Protocol servers
Official reference MCP servers: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time and Everything