Client Configuration
Different AI clients have varying configuration formats for MCP servers. This page documents the configuration specifics for each supported client.
Standard Configuration Pattern
Most AI clients follow this basic pattern:
{
"mcpServers": {
"stata-mcp": {
"command": "uvx",
"args": ["stata-mcp"]
}
}
}
However, each client may have slight variations in file location, format, or supported features.
Client-Specific Configurations
Claude Code
Configuration Method: CLI command or .mcp.json
Global Installation:
claude mcp add stata-mcp -- uvx stata-mcp
Project-based Installation (Recommended):
cd ~/Documents/MyResearch
claude mcp add stata-mcp \
--env STATA_MCP_CWD=$(pwd) \
--scope project \
-- uvx --directory $(pwd) stata-mcp
Configuration File: .mcp.json (created in project directory)
Format: JSON
{
"mcpServers": {
"stata-mcp": {
"command": "uvx",
"args": ["stata-mcp"],
"env": {
"STATA_MCP_CWD": "/absolute/path/to/project"
}
}
}
}
Unique Features:
- ✅ Project-scoped configuration (--scope project)
- ✅ Environment variable injection (--env)
- ✅ Directory specification (--directory)
- ✅ Version pinning support (stata-mcp==1.13.0)
Claude Desktop
Configuration File: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
Format: JSON
{
"mcpServers": {
"stata-mcp": {
"command": "uvx",
"args": ["stata-mcp"],
"env": {
"STATA_MCP_CWD": "/path/to/project",
"STATA_CLI": "/Applications/Stata/StataMP"
}
}
}
}
Unique Features:
- ✅ Environment variable support via env object
- ✅ Manual configuration file editing required
Codex (VS Code Extension)
Configuration File: ~/.codex/config.toml
Format: TOML
[mcp_servers.stata-mcp]
command = "uvx"
args = ["stata-mcp"]
With environment variables:
[mcp_servers.stata-mcp]
command = "uvx"
args = ["stata-mcp"]
env = { STATA_MCP_CWD = "/path/to/project" }
Unique Features:
- ⚠️ Uses TOML format instead of JSON
- ✅ Environment variables via env table
Cline
Configuration File: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/setting/cline_mcp_settings.json
Format: JSON
{
"mcpServers": {
"stata-mcp": {
"command": "uvx",
"args": [
"stata-mcp"
]
}
}
}
Unique Features: - ⚠️ Standard JSON format - ⚠️ No special features or extensions
Cursor
Configuration File: Cursor settings (location varies by OS)
Format: JSON
{
"mcpServers": {
"stata-mcp": {
"command": "uvx",
"args": [
"--directory",
"/absolute/path/to/project",
"stata-mcp"
],
"env": {
"STATA_MCP_CWD": "/absolute/path/to/project"
}
}
}
}
Known Issues:
- ⚠️ File system access limitations (may not access Documents directory)
- ⚠️ Requires both --directory in args and STATA_MCP_CWD environment variable (both must point to same path)
- ⚠️ Must use absolute paths (relative paths not supported)
- ✅ Environment variables supported
Cherry Studio
Configuration File: Cherry Studio settings
Format: JSON (same as Claude Desktop)
{
"mcpServers": {
"stata-mcp": {
"command": "uvx",
"args": ["stata-mcp"]
}
}
}
Unique Features: - ✅ Standard MCP configuration - ✅ Compatible with Claude Desktop format
Configuration Options
Command Variations
Standard (uses latest version):
"command": "uvx",
"args": ["stata-mcp"]
Pinned Version:
"command": "uvx",
"args": ["stata-mcp==1.13.0"]
With Custom Directory:
"command": "uvx",
"args": [
"--directory",
"/path/to/project",
"stata-mcp"
]
Environment Variables
Core Variables
| Variable | Purpose | Example |
|---|---|---|
STATA_MCP_CWD |
Working directory for Stata operations | "/Users/user/research" |
STATA_CLI |
Path to specific Stata executable | "/Applications/Stata/StataMP" |
STATA_MCP_MODEL |
LLM model for agent mode | "gpt-4" |
STATA_MCP_API_KEY |
API key for LLM provider | "sk-..." |
STATA_MCP_API_BASE_URL |
Custom API endpoint | "https://api.openai.com/v1" |
Security Variables
| Variable | Purpose | Default | Example |
|---|---|---|---|
STATA_MCP__IS_GUARD |
Enable security guard validation | true |
"true" or "false" |
Monitoring Variables
| Variable | Purpose | Default | Example |
|---|---|---|---|
STATA_MCP__IS_MONITOR |
Enable RAM monitoring | false |
"true" or "false" |
STATA_MCP__RAM_LIMIT |
Maximum RAM in MB | -1 (no limit) |
"8192" for 8GB |
Debug Variables
| Variable | Purpose | Default | Example |
|---|---|---|---|
STATA_MCP__IS_DEBUG |
Enable debug mode | false |
"true" or "false" |
STATA_MCP__LOGGING_ON |
Enable logging | true |
"true" or "false" |
STATA_MCP__LOGGING_CONSOLE_HANDLER_ON |
Enable console logging | false |
"true" or "false" |
STATA_MCP__LOGGING_FILE_HANDLER_ON |
Enable file logging | true |
"true" or "false" |
STATA_MCP__LOG_FILE |
Custom log file path | ~/.statamcp/stata_mcp_debug.log |
"/var/log/stata-mcp/debug.log" |
JSON Format:
"env": {
"STATA_MCP_CWD": "/path/to/project",
"STATA_CLI": "/path/to/stata"
}
With Security and Monitoring:
"env": {
"STATA_MCP_CWD": "/path/to/project",
"STATA_MCP__IS_GUARD": "true",
"STATA_MCP__IS_MONITOR": "true",
"STATA_MCP__RAM_LIMIT": "8192"
}
TOML Format (Codex):
env = { STATA_MCP_CWD = "/path/to/project" }
With All Features:
env.STATA_MCP_CWD = "/path/to/project"
env.STATA_MCP__IS_GUARD = "true"
env.STATA_MCP__IS_MONITOR = "true"
env.STATA_MCP__RAM_LIMIT = "8192"
env.STATA_MCP__LOGGING_CONSOLE_HANDLER_ON = "true"
Configuration File Locations
| Client | Config File Location | Format |
|---|---|---|
| Claude Code | .mcp.json (project) or global config |
JSON |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json |
JSON |
| Codex | ~/.codex/config.toml |
TOML |
| Cline | ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/setting/cline_mcp_settings.json |
JSON |
| Cursor | Cursor settings directory | JSON |
| Cherry Studio | Cherry Studio settings directory | JSON |
Troubleshooting
Configuration Not Detected
- Verify file path: Check if configuration file exists in the correct location
- Validate JSON/TOML syntax: Use online validators to check for syntax errors
- Restart client: Most clients require restart after configuration changes
- Check logs: Look for MCP server connection errors in client logs
Path Issues
Problem: Stata-MCP cannot access project files
Solution:
- Use absolute paths for STATA_MCP_CWD
- Ensure paths are within client's allowed directories
- Check client's file system access permissions
Version Conflicts
Problem: Wrong Stata-MCP version loaded
Solution:
- Clear Python package cache: pip cache purge stata-mcp
- Pin specific version: uvx stata-mcp==1.13.0
- Use uvx --refresh stata-mcp to force refresh
Best Practices
- Use project-scoped configuration when available (Claude Code)
- Pin versions in production environments
- Set absolute paths for working directories
- Test configuration with
uvx stata-mcp --usablebefore adding to client - Document custom configurations for team collaboration
Additional Resources
- Usage Guide - Comprehensive usage examples
- Overview - Architecture and design
- MCP Tools - Available tools reference