1C OData MCP server

1C OData MCP Server

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

MCP server

Low risk

We rate an entry low when it mostly gives the agent instructions and reference material.

Why this level

  • The server only performs GET requests against OData, there is no data write path
  • The password can end up in tool call arguments if environment variables are not used
All reasons and checks
Russian stack

usecoreai/1c-mcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/1c-odata-mcp-server

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

Assembled automatically, review before installing.

Run in a terminal

claude mcp add --transport stdio --env 'ODATA_HOST=<ODATA_HOST value>' --env 'ODATA_USER=<ODATA_USER value>' --env 'ODATA_PASS=<your ODATA_PASS>' 1c-odata -- uvx run python server.py

Or add to the file .mcp.json, in the project

{
  "mcpServers": {
    "1c-odata": {
      "command": "uvx",
      "args": [
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "ODATA_HOST": "<ODATA_HOST value>",
        "ODATA_USER": "<ODATA_USER value>",
        "ODATA_PASS": "<your ODATA_PASS>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

ODATA_HOSTrequired
OData service host
ODATA_USERrequired
OData service user
ODATA_PASSsecret, required
OData service password

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Install in Cursor

The button opens the agent and offers to add the server. If nothing happens, copy the config below.

Add to the file ~/.cursor/mcp.json, for all projects

{
  "mcpServers": {
    "1c-odata": {
      "command": "uvx",
      "args": [
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "ODATA_HOST": "<ODATA_HOST value>",
        "ODATA_USER": "<ODATA_USER value>",
        "ODATA_PASS": "<your ODATA_PASS>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.

Keys and settings

ODATA_HOSTrequired
OData service host
ODATA_USERrequired
OData service user
ODATA_PASSsecret, required
OData service password

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Install in VS Code

The button opens the agent and offers to add the server. If nothing happens, copy the config below.

Run in a terminal

code --add-mcp '{"name":"1c-odata","type":"stdio","command":"uvx","args":["run","python","server.py"],"env":{"ODATA_HOST":"<ODATA_HOST value>","ODATA_USER":"<ODATA_USER value>","ODATA_PASS":"<your ODATA_PASS>"}}'

Or add to the file .vscode/mcp.json, in the project

{
  "servers": {
    "1c-odata": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "ODATA_HOST": "<ODATA_HOST value>",
        "ODATA_USER": "<ODATA_USER value>",
        "ODATA_PASS": "<your ODATA_PASS>"
      }
    }
  }
}

If the file already exists, add the server inside the servers key.

Keys and settings

ODATA_HOSTrequired
OData service host
ODATA_USERrequired
OData service user
ODATA_PASSsecret, required
OData service password

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

codex mcp add 1c-odata --env 'ODATA_HOST=<ODATA_HOST value>' --env 'ODATA_USER=<ODATA_USER value>' --env 'ODATA_PASS=<your ODATA_PASS>' -- uvx run python server.py

Or add to the file ~/.codex/config.toml, for all projects

[mcp_servers.1c-odata]
command = "uvx"
args = ["run", "python", "server.py"]
env = { ODATA_HOST = "<ODATA_HOST value>", ODATA_USER = "<ODATA_USER value>", ODATA_PASS = "<your ODATA_PASS>" }

If the file already exists, append the block to the end.

Keys and settings

ODATA_HOSTrequired
OData service host
ODATA_USERrequired
OData service user
ODATA_PASSsecret, required
OData service password

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

gemini mcp add -s user -e 'ODATA_HOST=<ODATA_HOST value>' -e 'ODATA_USER=<ODATA_USER value>' -e 'ODATA_PASS=<your ODATA_PASS>' 1c-odata uvx run python server.py

Or add to the file ~/.gemini/settings.json, for all projects

{
  "mcpServers": {
    "1c-odata": {
      "command": "uvx",
      "args": [
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "ODATA_HOST": "<ODATA_HOST value>",
        "ODATA_USER": "<ODATA_USER value>",
        "ODATA_PASS": "<your ODATA_PASS>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

ODATA_HOSTrequired
OData service host
ODATA_USERrequired
OData service user
ODATA_PASSsecret, required
OData service password

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/devin/mcp_config.json, for all projects

{
  "mcpServers": {
    "1c-odata": {
      "command": "uvx",
      "args": [
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "ODATA_HOST": "<ODATA_HOST value>",
        "ODATA_USER": "<ODATA_USER value>",
        "ODATA_PASS": "<your ODATA_PASS>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.

Keys and settings

ODATA_HOSTrequired
OData service host
ODATA_USERrequired
OData service user
ODATA_PASSsecret, required
OData service password

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Formerly Windsurf.

Add to the file cline_mcp_settings.json, for all projects

{
  "mcpServers": {
    "1c-odata": {
      "command": "uvx",
      "args": [
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "ODATA_HOST": "<ODATA_HOST value>",
        "ODATA_USER": "<ODATA_USER value>",
        "ODATA_PASS": "<your ODATA_PASS>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.

Keys and settings

ODATA_HOSTrequired
OData service host
ODATA_USERrequired
OData service user
ODATA_PASSsecret, required
OData service password

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .roo/mcp.json, in the project

{
  "mcpServers": {
    "1c-odata": {
      "command": "uvx",
      "args": [
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "ODATA_HOST": "<ODATA_HOST value>",
        "ODATA_USER": "<ODATA_USER value>",
        "ODATA_PASS": "<your ODATA_PASS>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

ODATA_HOSTrequired
OData service host
ODATA_USERrequired
OData service user
ODATA_PASSsecret, required
OData service password

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

A fork of Roo Code, same .roo folders.

Add to the file opencode.json, in the project

{
  "mcp": {
    "1c-odata": {
      "type": "local",
      "command": [
        "uvx",
        "run",
        "python",
        "server.py"
      ],
      "environment": {
        "ODATA_HOST": "<ODATA_HOST value>",
        "ODATA_USER": "<ODATA_USER value>",
        "ODATA_PASS": "<your ODATA_PASS>"
      }
    }
  }
}

If the file already exists, add the server inside the mcp key.

Keys and settings

ODATA_HOSTrequired
OData service host
ODATA_USERrequired
OData service user
ODATA_PASSsecret, required
OData service password

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/zed/settings.json, for all projects

{
  "context_servers": {
    "1c-odata": {
      "command": "uvx",
      "args": [
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "ODATA_HOST": "<ODATA_HOST value>",
        "ODATA_USER": "<ODATA_USER value>",
        "ODATA_PASS": "<your ODATA_PASS>"
      }
    }
  }
}

If the file already exists, add the server inside the context_servers key.

Keys and settings

ODATA_HOSTrequired
OData service host
ODATA_USERrequired
OData service user
ODATA_PASSsecret, required
OData service password

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .codeassistant/mcp.json, in the project

{
  "mcpServers": {
    "1c-odata": {
      "command": "uvx",
      "args": [
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "ODATA_HOST": "<ODATA_HOST value>",
        "ODATA_USER": "<ODATA_USER value>",
        "ODATA_PASS": "<your ODATA_PASS>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

ODATA_HOSTrequired
OData service host
ODATA_USERrequired
OData service user
ODATA_PASSsecret, required
OData service password

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

You will need: uv

Checked against the repository on Sep 26, 2026, commit 4a72f75.

Text for your agent

Install uv, clone the repository and run uv --directory {PATH_TO_FOLDER} run python server.py, setting the ODATA_HOST, ODATA_USER and ODATA_PASS environment variables, then merge the mcpServers.1c-odata section from claude-desktop.example.json into your Claude Desktop config.

Other ways from the author
uv --directory {PATH_TO_FOLDER} run python server.py

Local server run after cloning the repository, from the README.

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

What it does

The server gives an agent three tools for the standard 1C OData interface: probe_odata checks connectivity and credentials, get_odata performs a GET request against a specific OData resource, and list_entity_sets returns the list of available entities from the service document. Credentials are set through the ODATA_HOST, ODATA_USER and ODATA_PASS environment variables or passed directly in the tool call arguments.

Who it is for. For those who already have the standard OData interface enabled in 1C and need a minimal MCP bridge for agent read access.

Good fit when

  • OData is already published in the 1C base and you need a simple way to read it from an agent
  • You need to quickly check which entities a specific base exposes through OData
  • Read-only access is enough, with no writes or business logic layered on top of requests

Not a fit when

  • You need to write data into 1C: the server only performs GET requests
  • OData is not enabled in the base or not reachable by the agent over the network

Example request

Check the OData connection to the base and list the available entities

Limitations

No license is specified, and the README has no instructions for publishing to a registry or running without cloning the repository. The server only reads data (GET), there is no write or change logic. The ODATA_PASS password can be set via an environment variable or a tool argument, and in the latter case it ends up in the call context.

How to disable. Remove the mcpServers.1c-odata section from your MCP client configuration.

MCP

Transport
stdio
Authentication
API key
Environment variables
Environment variables
ODATA_HOST
required
The published OData address of the 1C base.
ODATA_USER
required
The user for connecting to OData.
ODATA_PASS
required, secret
The OData user's password.

Security check

  • The server only performs GET requests against OData, there is no data write path
  • The password can end up in tool call arguments if environment variables are not used

README in short

The README is short: it describes the three tools, the requirements (Python 3.11+ and uv), the local run command via uv run, the ODATA_HOST, ODATA_USER and ODATA_PASS environment variables, and installation into Claude Desktop via the ready claude-desktop.example.json file.

FAQ

Can login and password be passed directly in a tool call?

Yes, the README allows passing values in tool arguments instead of environment variables.

Can the server write data into 1C?

No, all three tools only read through GET requests against OData.

Editors’ pick

A skills library that gives coding agents a development process: brainstorming, planning, TDD, subagents and code review

PluginMedium risk292.5KRepository stars
Editors’ pick

Small composable skills for engineering with agents: plan grilling, TDD, bug diagnosis, code review and architecture

SkillLow risk271.4KRepository stars
Editors’ pick

GitHub toolkit for spec-driven development: the specify CLI adds agent commands and skills to a project, from principles to implementation

CLIMedium risk139.3KRepository stars

Reference MCP servers

Model Context Protocol servers

Official

Official reference MCP servers: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time and Everything

MCP serverMedium risk90.6KRepository stars
Foxx AI1C OData MCP server

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.