Token导航 LogoToken导航TokenDH.com
Filesystem Exec MCP Servers logo
开发工具stdio官方级别未说明来源级核验

Filesystem Exec MCP Servers

MCP Server

MCP Tools 提供工作区内的文件编辑、备份、代码分析和执行功能,专为AI驱动的代码助手和自动化设计。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
代码分析代码执行Python工作区管理文件管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

a-joia

提供方

a-joia

最后核验

2026/5/17 20:22

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --rm -it -v $(pwd):/app code_exec_mcp-mcp-server

详细介绍

MCP工具:文件系统、分析和执行

概述

该项目为文件编辑、备份、代码分析和执行提供了强大的、包含工作区的工具,专为人工智能驱动的代码助手和自动化而设计。所有工具都返回结构化字典,便于编程使用。

______________________________________________________________________

环境和容器设置

需求

  • Python 3.11+
  • Docker(用于容器化使用)
  • 推荐: black, flake8, vulture, mutmut 用于代码格式化和分析

在Docker中运行

  1. 塑造形象:
   docker build -t mcp-tools .
  1. 运行容器:
   docker run --rm -it -v $(pwd):/app code_exec_mcp-mcp-server

- 要映射自定义工作区,请使用 -v /your/workspace:/app/.workspace.

  1. 在容器内运行测试:
   pytest -v test/scripts

______________________________________________________________________

文件系统工具(tools/filesystem.py)

工作空间管理

  • set_workspace(workspace_name:str)->字典

- 设置活动工作区目录(创建于 .workspace/). - 如果工作区不存在,则创建它。为了安全起见,所有文件操作都包含在此工作区中。 - 退货: { "status": "success", "old_workspace": ..., "new_workspace": ..., "message": ... }

  • get_workspace()->字典

- 获取当前工作区路径和状态。 - 退货: { "status": "success", "workspace": ..., "exists": ..., "is_dir": ... }

______________________________________________________________________

文件编辑与差异

  • edit_file(文件路径,内容=无,create_backup=真,模式=无,diff_text=无,line_number=无,new_content=无,start_line=无,end_line=没有)->dict

- 原子编辑文件。支持多种模式: - 覆盖:将文件替换为 content (默认模式)。 - 标准差异:应用统一的差异(mode="unified_diff", diff_text). - 编辑线:替换一条线(mode="line_edit", line_number, new_content). - 跨度编辑:替换一系列线路(mode="span_edit", start_line, end_line, new_content). - 如果 create_backup 如果为True,则在编辑之前会进行备份。 - 所有更改都是原子性的(写入临时文件,然后移动)。 - 退货: { "status": "success"|"error", "filepath": ..., "mode": ..., "changes_made": ..., "preview": ..., ... } - 边缘案例: - 如果文件在工作区之外,或者所选模式缺少必需的参数,则返回错误。 - 稳健地处理编码问题和大文件。

  • preview_edit(…)/validate_endit(…)

- 预览或验证编辑而不应用它。 - 退货: 带有状态、预览和/或验证错误的骰子。 - 用途: 使用前 edit_file 检查会发生什么变化或验证参数。

______________________________________________________________________

备份和恢复

  • 备份文件(文件路径)->字典

- 在中创建文件的带时间戳的备份 .mcp_backups/ 在工作空间内。 - 存储文件和JSON元数据文件。 - 退货: { "status": "success"|"error", "backup_file": ..., "timestamp": ..., ... } - 边缘案例: - 如果文件不存在或位于工作区之外,则返回错误。

  • restore_file(文件路径,backup_timestamp=无)->dict

- 从备份中还原文件(按时间戳)。如果没有给出时间戳,则还原最新备份。 - 退货: { "status": "success"|"error", "restored_from": ..., ... } - 边缘案例: - 如果不存在备份或时间戳无效,则返回错误。

  • list_backups(文件路径=无)->dict

- 列出文件的所有备份或工作区中的所有文件。 - 退货: { "status": "success", "backups": [...], "total_backups": ... } - 每个备份条目都包括文件路径、时间戳、提交状态和元数据。

  • commit-changes(文件路径,commit_message=“”)->dict

- 通过消息将最新备份标记为已提交。 - 退货: { "status": "success"|"error", ... } - 边缘案例: - 如果文件不存在备份,则返回错误。

______________________________________________________________________

差异和格式

  • compare_versions(文件路径,backup_timestamp=None)->dict

- 显示当前文件和备份之间的统一差异(按时间戳)。 - 退货: { "status": "success"|"error", "diff": ..., ... } - 边缘案例: - 如果文件或备份不存在,则返回错误。

  • generate_diff(text1,text2,filename=“file.txt”)->dict

- 在两个文本blob之间生成统一的差异。 - 退货: { "status": "success"|"error", "diff": ... }

  • format_code(文件路径)->dict

- 使用格式化Python文件 black (必须安装在环境中)。 - 退货: { "status": "success"|"error", "message": ... } - 边缘案例: - 如果出现以下情况,则返回错误 black 未安装或文件不是有效的Python。

______________________________________________________________________

文件系统列表和文件切片

  • list_path(path=“.”)->dict

- 列出给定路径下的文件和目录(非递归)。 - 退货: { "status": "success"|"error", "entries": [ {name, is_dir, size, mtime}, ... ] } - 边缘案例: - 如果路径不存在或不是目录,则返回错误。

  • list_path_re草书(path=“.”)->字典

- 递归列出路径下的所有文件和目录。 - 退货: { "status": "success"|"error", "entries": [ {path, is_dir, size, mtime}, ... ] }

  • get_head(文件路径,n=10)->字典

- 获取第一个 n 文件的行数(默认值为10)。 - 退货: { "status": "success"|"error", "lines": [...] } - 边缘案例: - 如果文件小于,则返回所有行 n 线。 - 如果文件不存在,则返回错误。

  • get_tail(文件路径,n=10)->dict

- 获取最后一个 n 文件的行数(默认值为10)。 - 退货: { "status": "success"|"error", "lines": [...] } - 边缘案例: - 如果文件小于,则返回所有行 n 线。 - 如果文件不存在,则返回错误。

  • get_lines(文件路径、开始、结束)->dict

- 从以下位置获取行 startend (含1)。 - 退货: { "status": "success"|"error", "lines": [...] } - 边缘案例: - 如果范围无效或文件不存在,则返回错误。

______________________________________________________________________

分析工具(tools/analysis.py)

  • check_syntax(文件路径)->列表\[str\]

- 检查Python语法。如果有效,则返回空列表,否则返回错误消息列表(每个错误一个)。 - 边缘案例: - 处理语法错误、文件丢失和编码问题。

  • check_syntax_multiple_files(文件路径)->Dict\[str,List\[str\]\]

- 检查多个文件的语法。返回一个将文件路径映射到错误列表的字典。

  • lint_file(文件路径)->str

- 跑 flake8 文件上的门楣。以字符串形式返回linter输出。 - 边缘案例: - 如果出现以下情况,则返回错误消息 flake8 未安装或文件丢失。

  • run_mutation_tests(文件路径,test_file=无)->str

- 使用以下命令运行突变测试 mutmut。可选择指定测试文件。 - 退货: 突变测试运行的输出。

  • **search_code(模式,目录=“.”,文件模式=“\*.py”)->列表\[Dict\]**

- 在目录下的代码文件中搜索正则表达式模式。 - 退货: 包含文件、行号和代码行的字典列表。

  • search_symbols(name,kind=“function”,directory=“.”)->列表\[str\]

- 按名称查找函数或类定义。 - 退货: 文件列表:找到符号的行字符串。

  • find_unused_code(directory=“.”)->列表\[str\]

- 使用查找未使用的代码 vulture. - 退货: 未使用的代码行或错误消息列表。

  • extract_docstring(文件路径)->Dict\[str,str\]

- 从文件中的所有函数和类中提取文档字符串。 - 退货: 将函数/类名映射到文档字符串。

  • suggest_test_cases(文件路径,函数=无)->str

- 为函数或文件生成测试骨架。 - 退货: 带有测试函数或文件模板的字符串。

______________________________________________________________________

执行和调试工具(tools/exec_debug.py)

  • execute_python(代码,超时=30)->Dict

- 在子进程中执行Python代码(作为字符串),并有超时。 - 退货: 带有状态、stdout、stderr、返回代码和执行时间的Dict。 - 边缘案例: - 如果执行失败或超时,则返回错误状态和消息。

  • execute_python_file(文件,超时=30)->Dict

- 在子进程中执行Python文件,但有超时。 - 退货: 带有状态、stdout、stderr、返回代码和执行时间的Dict。

  • debug_python_file(文件,断点,超时=60)->str

- 在下运行Python文件 pdb 在指定的行号处有断点。 - 退货: 完整的会话记录为字符串。 - 边缘案例: - 如果文件不存在,则引发FileNotFoundError。 - 捕获异常并将其打印在成绩单中。

______________________________________________________________________

用法

  • 所有函数都设计为从Python导入和调用,或用作AI代理工具集的一部分。
  • 为了安全起见,所有文件操作都包含在工作区中。
  • 所有结果都以字典(或某些分析函数的列表)的形式返回 "status": "success""error" 以及详细的字段。

______________________________________________________________________

目录标签

目录标签

代码分析代码执行Python工作区管理文件管理本地部署自动化工具

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP