Skip to main content
Glama

write_dofile

Generate Stata code in a dofile format for regression analysis and statistical operations with structured inputs using the Stata-MCP server.

Instructions

write the stata-code to dofile

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contentYes

Implementation Reference

  • The handler function decorated with the tool registration for write_dofile. It writes the provided Stata code content to a new timestamped .do file in the dofile_base_path and returns the path to the created file.
    @stata_mcp.tool(
        name="write_dofile",
        description="write the stata-code to dofile"
    )
    def write_dofile(content: str, encoding: str = None, strict_mode: bool = False) -> str:
        """
        Write stata code to a dofile and return the do-file path.
    
        Args:
            content (str): The stata code content which will be writen to the designated do-file.
            encoding (str): The encoding method for the dofile, default -> 'utf-8'
    
        Returns:
            the do-file path
    
        Notes:
            Please be careful about the first command in dofile should be use data.
            For avoiding make mistake, you can generate stata-code with the function from `StataCommandGenerator` class.
            Please avoid writing any code that draws graphics or requires human intervention for uncertainty bug.
            If you find something went wrong about the code, you can use the function from `StataCommandGenerator` class.
    
        Enhancement:
            If you have `outreg2`, `esttab` command for output the result,
            you should use the follow command to get the output path.
            `results_doc_path`, and use `local output_path path` the path is the return of the function `results_doc_path`.
            If you want to use the function `write_dofile`, please use `results_doc_path` before which is necessary.
    
        """
        file_path = dofile_base_path / f"{datetime.strftime(datetime.now(), '%Y%m%d%H%M%S')}.do"
        encoding = encoding or "utf-8"
        try:
            with open(file_path, "w", encoding=encoding) as f:
                f.write(content)
            logging.info(f"Successful write dofile to {file_path}")
        except Exception as e:
            logging.error(f"Failed to write dofile to {file_path}: {str(e)}")
        return str(file_path)
  • The @stata_mcp.tool decorator registers the write_dofile function as an MCP tool.
    @stata_mcp.tool(
        name="write_dofile",
        description="write the stata-code to dofile"
    )
Install Server

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SepineTam/stata-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server