local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Nash MCP uses .env files to specify data file paths for configuration
Nash MCP provides command execution capabilities that can run git commands with proper error handling and output capture
Nash MCP enables execution of Python code snippets with full access to installed packages and provides information about available Python packages
纳什 MCP 服务器
Nash MCP(模型上下文协议 (MCP) 服务器)支持无缝执行命令、Python 代码、Web 内容获取和可重用任务管理。
要求
- Python 3.11+
- 诗歌包管理器(推荐)
安装
特征
- 命令执行:运行带有错误处理的 shell 命令
- Python 执行:执行带有错误处理的 Python 代码
- 安全凭证:存储和访问 API 密钥,而无需向 LLM 暴露敏感数据
- Web 内容访问:获取并解析网页内容进行分析
- 任务存储库:保存和组织可重复使用的工作流和脚本
工具
执行模块
- 执行命令:运行 shell 命令并进行适当的错误处理和输出捕获
- list_session_files :列出当前会话中的所有 Python 文件(在创建新文件之前务必先使用此功能)
- get_file_content :检索文件内容以审查和编辑现有代码
- edit_python_file :使用精确字符串模式匹配对现有 Python 文件进行有针对性的编辑(首选方法)
- execute_python :执行 Python 代码片段,并完全访问已安装的包(仅用于新文件)
- list_installed_packages :获取有关可用 Python 包的信息
网络互动
- fetch_webpage :检索网页内容并将其转换为可读文本格式
机密管理
- nash_secrets :安全访问已存储的 API 密钥和凭证。可通过脚本中的环境变量访问。
任务管理
- save_nash_task :使用嵌入式脚本创建可重复使用的任务
- list_nash_tasks :查看所有可用的已保存任务
- run_nash_task :检索并显示先前保存的任务
- 执行任务脚本:从已保存的任务中运行特定脚本
- view_task_details :查看任务的完整详细信息,包括脚本代码
- delete_nash_task :删除不再需要的任务
跑步
这是用于 MCP 配置文件的命令
例如,如果您要将此 MCP 与 Claude Desktop 一起使用,则需要将~/Library/Application Support/Claude/claude_desktop_config.json
更改为:
环境变量
Nash MCP 需要环境变量来指定所有数据文件路径。在根目录中创建一个.env
文件,其中包含以下变量:
没有默认值 - 所有路径都必须明确配置。
会话管理
Nash MCP 服务器为每个服务器实例创建一个唯一的会话目录。此会话目录存储:
- 会话期间执行的 Python 脚本
- 编辑脚本的备份文件
- 错误日志和异常信息
这种持久存储可实现强大的工作流程:
- 脚本以描述性名称保存,以便于参考
- 可以查看和修改以前的脚本,而不必重写
- 错误被捕获到伴随文件中以便调试
强制性工作流程
⚠️ 强制性预编码清单 - 在编写任何代码之前完成:⚠️
文件编辑最佳实践
使用 Nash MCP 时,平衡效率和上下文保存:
- 使用
list_session_files()
创建新文件之前**,务必检查文件是否存在** - 优先使用
edit_python_file()
进行小到中等程度的修改 - 在以下情况下考虑创建新文件:
- 这比解释复杂的编辑更高效
- 您需要替换几乎整个文件
- 该任务涉及全新的功能
- 创建新文件将产生更清晰、更小的响应
黄金法则是在保持上下文和代码历史的同时尽量减少令牌的使用。
这种方法可以保留脚本历史记录,维护上下文,并提高增量开发效率。编辑工作流程遵循以下模式:
- 首先,检查可用资源 →
list_installed_packages()
和nash_secrets()
- 列出所有现有文件 →
list_session_files()
- 检查相关文件的内容 →
get_file_content("file_name.py")
- 更改现有文件 →
edit_python_file("file_name.py", old_content, new_content)
- 运行修改后的文件 →
execute_python("", "file_name.py")
(空代码字符串,不修改直接运行) - 仅当不存在类似文件时才创建新文件 →
execute_python(new_code, "new_file.py")
应避免的常见错误
- 当小编辑更高效时创建新文件
- 在创建新文件时进行复杂的编辑将更加节省令牌
- 尝试使用未安装的软件包
- 编写需要您没有的 API 密钥的代码
- 重写已经存在的功能
- 您的方法中没有考虑令牌效率
代币效率指南
在决定是否编辑或创建新文件时,请考虑哪种方法将使用更少的令牌:
- 编辑时间:更改较小到中等,局限于特定部分,并且易于描述
- 创建新的:更改将替换大部分文件,编辑将很难解释,或者需要一种全新的方法
始终致力于产生最小、最有效的输出来完成任务,同时保持清晰度和上下文。
安全注意事项
- 命令和脚本以与 MCP 服务器相同的权限运行
- API 密钥和凭证存储在本地并作为环境变量加载
- 执行前务必检查脚本,尤其是在处理敏感数据时
发展
日志
服务器会发送所有操作和工具执行的详细时间戳日志。这些日志存储在NASH_LOGS_PATH
环境变量指定的目录中。
测试
有覆盖范围
执照
麻省理工学院
This server cannot be installed
模型上下文协议服务器,支持无缝执行命令、Python 代码、Web 内容获取和可重复使用的任务管理,并具有安全凭证处理。