package.json•7.18 kB
{
"name": "stata-mcp",
"displayName": "Stata MCP",
"description": "Stata MCP Extension for VS Code and Cursor IDE",
"publisher": "DeepEcon",
"version": "0.2.5",
"icon": "images/Stata_MCP_logo_400x400.png",
"engines": {
"vscode": "^1.75.0"
},
"repository": {
"type": "git",
"url": "https://github.com/hanlulong/stata-mcp"
},
"keywords": [
"stata",
"statistics",
"data science",
"mcp",
"ai"
],
"categories": [
"Programming Languages",
"Data Science",
"Machine Learning",
"Other"
],
"activationEvents": [
"onLanguage:stata",
"onCommand:stata-vscode.runSelection",
"onCommand:stata-vscode.runFile",
"onCommand:stata-vscode.testMcpServer",
"onStartupFinished"
],
"main": "./dist/extension.js",
"contributes": {
"commands": [
{
"command": "stata-vscode.runSelection",
"title": "Stata: Run Selection/Current Line",
"icon": "$(play)"
},
{
"command": "stata-vscode.runFile",
"title": "Stata: Run Current File",
"icon": "$(run-all)"
},
{
"command": "stata-vscode.showOutput",
"title": "Stata: Show Output"
},
{
"command": "stata-vscode.testMcpServer",
"title": "Stata: Test MCP Server Connection"
}
],
"menus": {
"editor/title": [
{
"when": "resourceExtname == .do || resourceExtname == .ado || resourceExtname == .mata || editorLangId == stata",
"command": "stata-vscode.runSelection",
"group": "navigation"
},
{
"when": "resourceExtname == .do || resourceExtname == .ado || resourceExtname == .mata || editorLangId == stata",
"command": "stata-vscode.runFile",
"group": "navigation"
}
],
"editor/context": [
{
"when": "resourceExtname == .do || resourceExtname == .ado || resourceExtname == .mata || editorLangId == stata",
"command": "stata-vscode.runSelection",
"group": "1_stata"
},
{
"when": "resourceExtname == .do || resourceExtname == .ado || resourceExtname == .mata || editorLangId == stata",
"command": "stata-vscode.runFile",
"group": "1_stata"
}
]
},
"keybindings": [
{
"command": "stata-vscode.runSelection",
"key": "ctrl+shift+enter",
"mac": "cmd+shift+enter",
"when": "editorTextFocus && (editorLangId == stata || resourceExtname == .do || resourceExtname == .ado || resourceExtname == .mata)"
},
{
"command": "stata-vscode.runFile",
"key": "ctrl+shift+d",
"mac": "cmd+shift+d",
"when": "editorTextFocus && (editorLangId == stata || resourceExtname == .do || resourceExtname == .ado || resourceExtname == .mata)"
}
],
"configuration": {
"title": "Stata MCP",
"properties": {
"stata-vscode.stataPath": {
"type": "string",
"default": "",
"description": "Path to Stata installation directory"
},
"stata-vscode.mcpServerHost": {
"type": "string",
"default": "localhost",
"description": "Host for MCP server"
},
"stata-vscode.mcpServerPort": {
"type": "number",
"default": 4000,
"description": "Port for the MCP server"
},
"stata-vscode.autoStartServer": {
"type": "boolean",
"default": true,
"description": "Automatically start MCP server when extension activates"
},
"stata-vscode.alwaysUseWebview": {
"type": "boolean",
"default": false,
"description": "Always use a webview to display output"
},
"stata-vscode.alwaysShowStatusBar": {
"type": "boolean",
"default": true,
"description": "Always show the Stata status bar item, even when not editing a Stata file"
},
"stata-vscode.autoConfigureMcp": {
"type": "boolean",
"default": false,
"description": "Automatically configure Cursor MCP integration"
},
"stata-vscode.debugMode": {
"type": "boolean",
"default": false,
"description": "Enable detailed debug logging for troubleshooting (shows DEBUG level messages from both extension and Python server)"
},
"stata-vscode.forcePort": {
"type": "boolean",
"default": false,
"description": "Force the MCP server to use the specified port even if it's already in use"
},
"stata-vscode.clineConfigPath": {
"type": "string",
"default": "",
"description": "Custom path to Cline configuration file (optional, defaults to standard locations)"
},
"stata-vscode.runFileTimeout": {
"type": "number",
"default": 600,
"description": "Timeout in seconds for 'Run File' operations (default: 600 seconds / 10 minutes)"
},
"stata-vscode.stataEdition": {
"type": "string",
"enum": ["mp", "se", "be"],
"default": "mp",
"description": "Stata edition to use (MP, SE, BE) - default: MP"
},
"stata-vscode.logFileLocation": {
"type": "string",
"enum": ["extension", "workspace", "custom"],
"default": "extension",
"description": "Location for Stata log files: 'extension' (logs folder in extension directory), 'workspace' (same directory as .do file), or 'custom' (user-specified directory)"
},
"stata-vscode.customLogDirectory": {
"type": "string",
"default": "",
"description": "Custom directory for Stata log files (only used when logFileLocation is set to 'custom')"
}
}
},
"languages": [
{
"id": "stata",
"extensions": [
".do",
".ado",
".doh",
".mata"
],
"aliases": [
"Stata",
"STATA",
"stata"
],
"configuration": "./src/language-configuration.json"
}
],
"grammars": [
{
"language": "stata",
"scopeName": "source.stata",
"path": "./src/syntaxes/stata.tmLanguage.json"
}
]
},
"scripts": {
"start-mcp-server": "node ./src/start-server.js --port 4000 --force-port",
"postinstall": "node ./src/check-python.js",
"webpack": "webpack --config config/webpack.config.js",
"watch": "webpack --watch",
"package": "npm run webpack && vsce package --allow-star-activation",
"compile": "npm run webpack",
"test:platform": "node ./src/test-platform.js",
"test:extension": "node ./src/test-extension.js",
"test:mcp-server": "node ./src/test-mcp-server.js",
"test:python": "node ./src/test-python-detection.js",
"test:python:simple": "node ./src/test-python-detection-simple.js",
"test:install:uv": "node ./src/check-python.js",
"test:uv": "uv --version",
"test": "npm run test:platform && npm run test:extension && npm run test:mcp-server",
"clear-port": "node ./src/clear-port.js",
"start-server": "npm run clear-port && npm run start-mcp-server"
},
"dependencies": {
"adm-zip": "^0.5.16",
"axios": "^1.8.4"
},
"devDependencies": {
"@types/glob": "^7.2.0",
"@types/mocha": "^9.1.1",
"@types/node": "16.x",
"@types/vscode": "^1.75.0",
"@typescript-eslint/eslint-plugin": "^5.31.0",
"@typescript-eslint/parser": "^5.31.0",
"@vscode/test-electron": "^2.1.5",
"eslint": "^8.20.0",
"glob": "^8.0.3",
"mocha": "^10.0.0",
"typescript": "^4.7.4",
"webpack": "^5.98.0",
"webpack-cli": "^6.0.1"
},
"capabilities": {
"untrustedWorkspaces": {
"supported": "limited",
"description": "MCP services require a trusted workspace."
}
}
}