Medium Risk

stata_write_dofile

将 Stata 代码写入 do 文件并保存到磁盘,返回文件路径;相对文件名会写入最近 session 项目的 .stata-mcp/dofiles/,不会使用 MCP runtime。

How to control stata_write_dofile ↓

What stata_write_dofile does on Stata

AI agents use stata_write_dofile to create or update resources in Stata — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Stata environment.

Medium Risk

Why stata_write_dofile needs a policy

This tool creates and modifies files on disk by writing Stata code to do-files. While reversible (files can be deleted or overwritten), it changes the filesystem state and could allow an AI agent to inject malicious Stata code into execution files, which would then be run by stata_run or stata_run_dofile.

From the tool's definition Tool description states it '将 Stata 代码写入 do 文件并保存到磁盘' (writes Stata code into do files and saves to disk). The verb 'write' and 'save' indicate data creation/modification. The tool creates new files or modifies existing do-files on the filesystem.

Documented attack patterns abuse exactly the kind of access stata_write_dofile gives an agent:

How to control stata_write_dofile

PolicyLayer is an MCP gateway — it sits between your AI agents and Stata, and nothing reaches the server without passing your rules. This is the rule we recommend for stata_write_dofile:

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "stata_write_dofile": {
      "limits": [
        {
          "counter": "stata_write_dofile_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}

stata_write_dofile stays usable, but capped — an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.

  1. Create a free account and register Stata — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
LIMIT THIS TOOL →

Free to start. No card required.

Related tools and policies

Go deeper

Questions about stata_write_dofile

What does the stata_write_dofile tool do? +

将 Stata 代码写入 do 文件并保存到磁盘,返回文件路径;相对文件名会写入最近 session 项目的 .stata-mcp/dofiles/,不会使用 MCP runtime。. It is categorised as a Write tool in the Stata MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on stata_write_dofile? +

Register the Stata MCP server in PolicyLayer and add a rule for stata_write_dofile: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Stata. Nothing to install.

What risk level is stata_write_dofile? +

stata_write_dofile is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit stata_write_dofile? +

Yes. Add a rate_limit block to the stata_write_dofile rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block stata_write_dofile completely? +

Set action: deny in the PolicyLayer policy for stata_write_dofile. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides stata_write_dofile? +

stata_write_dofile is provided by the Stata MCP server (shichengg/stata-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Stata tool call.

Start from Stata, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.

Free to start. No card required.

12 Stata tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.