1C Testpilot
An MCP server that drives the 1C test client's interface directly: opens forms, fills fields, records and replays scenarios
High risk
We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.
Why this level
- Drives the real 1C interface and can post documents and change data like a regular user
- tc_execute_code runs arbitrary BSL code in the client or server context
Install
Manual install
pipx install git+https://github.com/ROCTUP/1c-testpilot.git && pipx ensurepathAfter installation, restart the terminal and the MCP client.
This is third-party code. Review the repository files before installing.
What it does
The server connects to a local or remote 1C test client over its own network protocol, with no test manager involved. An agent gets 10 tools organized by interface object type, driven by an action parameter (up to 155 actions): navigating the window-form-element tree, reading and filling fields, working with tables and trees, clicks, checkboxes, calendars, hyperlinks, and comparing form-state snapshots before and after an action. Separately, tc_execute_code for BSL code and tc_execute_query for queries are available through the Testpilot.epf external processing, which the server opens in the client automatically. It supports recording scenarios to XML (uilog) and replaying them, HTML and Allure reports, 1C window screenshots, and running tests through pytest with a ready Python API.
Who it is for. For QA engineers and 1C developers who want an agent to drive the real 1C interface like a user, including end-to-end checks with no test manager involved.
Good fit when
- You need an agent to replay a user scenario in the 1C interface and verify the result
- You write pytest automated tests against the real interface with no test manager
- You need before-and-after form state comparisons and HTML or Allure reports
Not a fit when
- You need to work against a production base: the server drives the real interface and can change real data
- There is no graphical session on Linux (Xvfb is needed) or the run happens under direct Wayland without X11/XWayland
- You need built-in HTTP authentication: there is none, network access must be restricted yourself
Example request
Open the employee hiring form, fill the required fields with test data and post the document, capturing a screenshot at each stepLimitations
The test client protocol is closed and may differ between platform versions; the README limits verified combinations to Windows 8.3.27/8.5.1 and, remotely, Windows and Ubuntu 8.3.27. There is no built-in HTTP authentication; access to the server over Streamable HTTP must be restricted by network or an external proxy. get_screenshot and the isolated desktop are not supported on macOS.
How to disable. Stop the server process or remove the 1c-testpilot entry from your MCP client config, then close the test client it launched with the stop_client action.
MCP
- Transport
- stdio, http, sse
- Authentication
- not required
| Environment variables | |
|---|---|
| TC1C_TRANSPORT | Server transport: stdio, streamable-http or sse. |
| TC1C_PROFILES_FILE | Path to the YAML file of named connection and launch profiles. |
Security check
- Drives the real 1C interface and can post documents and change data like a regular user
- tc_execute_code runs arbitrary BSL code in the client or server context
README in short
The README describes capabilities in detail (navigation, reading and filling fields, snapshots, recording and replaying scenarios), requirements and installation via pipx, connecting Claude Desktop, Claude Code and Codex over stdio and Streamable HTTP, working with the test client and named YAML profiles, the full list of environment variables, the TOON and JSON response formats, an agent activity log with HTML and Allure reports, and a limitations section on the closed protocol and verified platforms.
FAQ
Can it be used without MCP, just for automated tests?
Yes, there is a separate Python API with pytest integration that talks to 1C directly with no MCP server running.
How do you restrict arbitrary code and queries?
tc_execute_code and tc_execute_query are off by default and are enabled separately via server parameters, independently of each other.
Related
A CLI for testing and red teaming LLM applications: compares models, runs automated CI checks and finds vulnerabilities
Playwright CLI
playwright-cli
Microsoft's official Playwright CLI with an agent skill: drive a browser through short commands without heavy MCP schemas
The official MCP server debugger: web UI, automation CLI and terminal UI in one package
SonarSource's official MCP server: quality and security issues, quality gates and code analysis from SonarQube Server and Cloud