{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_49ejbnxagxh2","handle":"exec-dir-mcp","url":"https://wellknown.network/agents/exec-dir-mcp","links":{"self":"https://wellknown.network/agents/exec-dir-mcp/record.json","html":"https://wellknown.network/agents/exec-dir-mcp","markdown":"https://wellknown.network/agents/exec-dir-mcp/record.md","api":"https://wellknown.network/api/v1/agents/exec-dir-mcp","status":"https://wellknown.network/api/v1/agents/exec-dir-mcp/status","claim":"https://wellknown.network/agents/exec-dir-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/exec-dir-mcp/claim.json","badge":"https://wellknown.network/agents/exec-dir-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/exec-dir-mcp/history","tools":"https://wellknown.network/api/v1/agents/exec-dir-mcp/tools"},"ard":{"identifier":"urn:air::server:exec-dir-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"exec-dir-mcp","summary":"MCP服务器，支持在指定目录中安全执行命令","description":"# Exec Dir MCP\n\n一个基于 Model Context Protocol (MCP) 的命令执行服务器，支持在指定目录中安全地执行命令。\n\n## 功能特性\n\n- 🎯 **安全执行**：支持配置允许的目录列表，防止在未授权目录执行命令\n- 📁 **灵活配置**：可设置默认工作目录，支持在任意允许的目录执行命令\n- ⏱️ **超时控制**：支持自定义命令执行超时时间\n- 🔄 **异步执行**：基于 asyncio 的异步命令执行，性能优异\n- 📊 **详细日志**：完整的执行日志记录，方便调试和监控\n- 🛡️ **目录验证**：自动验证目录存在性和权限\n\n## 安装\n\n### 系统要求\n\n- Python >= 3.13\n- uv (推荐) 或 pip\n\n### 使用 uv 安装\n\n```bash\n# 克隆仓库\ngit clone https://github.com/yunhai-dev/exec-dir-mcp.git\ncd exec-dir-mcp\n\n# 安装依赖\nuv sync\n\n# 开发模式安装\nuv pip install -e .\n```\n\n### 使用 pip 安装\n\n```bash\npip install -e .\n```\n\n## 使用方法\n\n### 作为 MCP 服务器运行\n\n#### 基本用法\n\n```bash\n# 使用当前目录作为默认目录，允许所有目录\npython -m exec_dir_mcp.main\n\n# 指定默认目录\npython -m exec_dir_mcp.main --dir /home/user/projects\n\n# 指定默认目录和允许的目录列表\npython -m exec_dir_mcp.main --dir /home/user/projects --allowed /home/user/projects --allowed /tmp\n```\n\n#### 命令行参数\n\n- `--dir`：默认工作目录（默认：当前目录）\n- `--allowed`：允许执行命令的目录（可多次指定，不指定则允许所有目录）\n\n#### 示例\n\n```bash\n# 在项目目录中运行，允许访问项目目录和临时目录\npython -m exec_dir_mcp.main \\\n  --dir /home/user/my-project \\\n  --allowed /home/user/my-project \\\n  --allowed /tmp\n\n# 安全模式：只允许特定目录\npython -m exec_dir_mcp.main \\\n  --dir /safe/workspace \\\n  --allowed /safe/workspace/project1 \\\n  --allowed /safe/workspace/project2\n```\n\n### 在代码中使用\n\n```python\nimport asyncio\nfrom exec_dir_mcp.main import MCPServer\n\nasync def main():\n    # 创建服务器实例\n    server = MCPServer(\n        default_dir=\"/home/user/projects\",\n        allowed_dirs=[\"/home/user/projects\", \"/tmp\"]\n    )\n\n    # 运行服务器\n    await server.run()\n\nasyncio.run(main())\n```\n\n## MCP 工具\n\n### execute_command\n\n在指定目录中执行命令。\n\n#### 参数\n\n- `command` (string, 必需)：要执行的 shell 命令\n- `working_dir` (string, 可选)：工作目录（默认使用配置的默认目录）\n- `timeout` (integer, 可选)：超时时间，单位秒（默认：30）\n\n#### 返回值\n\n```json\n{\n  \"success\": true,\n  \"stdout\": \"命令标准输出\",\n  \"stderr\": \"命令标准错误输出\",\n  \"returncode\": 0,\n  \"working_dir\": \"/执行目录\",\n  \"command\": \"执行的命令\"\n}\n```\n\n#### 错误响应\n\n```json\n{\n  \"success\": false,\n  \"error\": \"错误描述\"\n}\n```\n\n#### 使用示例\n\n```python\n# 通过 MCP 客户端调用\nresult = await client.call_tool(\"execute_comm…","publisher":{"name":"YunHai","url":null},"homepage":null,"repository":null,"version":"1.0.2","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:exec-dir-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"dev.version-control","name":"Version Control","confidence":0.745,"provenance":"derived"},{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.745,"provenance":"derived"}],"categories":["dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"exec-dir-mcp","registry":"pypi","observedAt":"2026-09-15T14:27:01.731Z","publishedAt":"2025-11-20T14:06:20.279359Z","latestVersion":"1.0.2"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"exec-dir-mcp","url":"https://pypi.org/project/exec-dir-mcp/","firstSeenAt":"2026-09-09T15:22:06.262Z","fetchedAt":"2026-09-15T14:25:13.610Z","normalizedAt":"2026-09-15T14:25:13.610Z"}]},"firstSeenAt":"2026-09-09T15:22:06.262Z","updatedAt":"2026-09-15T14:27:01.731Z"}