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

Nix Devshell MCP

MCP Server

一个通过自然语言描述生成Nix flake开发环境的MCP服务器,支持多种编程语言模板和自定义配置。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
开发工具TypeScriptClaude配置管理Claude

安装说明

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

作者 / 组织

kcalvelli

提供方

kcalvelli

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

nix devshell mcp

用于生成Nix薄片开发环境的模型上下文协议(MCP)服务器

![Tests](<>) ![Coverage](<>) ![TypeScript](<>) ![License](<>)

此MCP服务器使AI助手能够根据对话提示生成完全配置的Nix flake开发环境。它在开发需求的自然语言描述和生产就绪的Nix-devshell配置之间架起了一座桥梁。

特性

对话式发展环境的营造

  • 从自然语言生成完整的Nix-flake项目
  • 4个生产就绪的配置文件模板
  • 自动direnv配置
  • Git存储库初始化

🛡️ 无损和安全

  • 从不覆盖现有文件
  • 路径遍历保护
  • 原子文件写入
  • 全面验证

🔧 企业就绪

  • 私有npm注册表支持
  • 私有PyPI索引配置
  • Maven存储库配置
  • 两级配置系统(用户+项目)

🎨 高度可定制

  • Handlebars模板包含11个自定义助手
  • JSON模式验证
  • 环境变量分辨率
  • 创建后挂钩

快速开始

安装

# Clone the repository
git clone https://github.com/kcalvelli/nix-devshell-mcp.git
cd nix-devshell-mcp

# Install dependencies
npm install

# Build the project
npm run build

配置

添加到您的Claude桌面配置(~/.config/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "nix-devshell": {
      "command": "node",
      "args": ["/path/to/nix-devshell-mcp/build/index.js"]
    }
  }
}

用法示例

配置后,您可以询问Claude:

"Create a TypeScript Node.js project with Node 20 in /home/user/my-app"

克劳德将使用 create_devshell 生成工具:

  • flake.nix -Nix-flake与Node.js 20,TypeScript,开发工具
  • .envrc -用于自动激活的direnv配置
  • package.json -使用脚本配置Node.js包
  • tsconfig.json -TypeScript编译器配置
  • src/index.ts -起始TypeScript代码
  • README.md -项目文件

然后简单地说:

cd /home/user/my-app
direnv allow
npm install
npm run dev

可用配置文件

打字脚本节点

采用ES模块和严格类型检查的现代TypeScript+Node.js开发。

包括:

  • Node.js(可配置版本,默认20)
  • 具有严格模式的TypeScript 5.x
  • tsx用于开发,vitest用于测试
  • ESLint,Prettier
  • 包管理器选择(npm/yarn/pnpm)

使用案例: REST API、CLI工具、后端服务、GraphQL服务器

python快速api

Python FastAPI开发,支持异步和自动OpenAPI文档。

包括:

  • Python(可配置版本,默认3.11)
  • FastAPI、Uvicorn、Pydantic
  • pytest、httpx用于测试
  • 黑色,Flake8,mypy
  • 虚拟环境自动激活

使用案例: REST API、微服务、异步web应用程序

角前端

使用独立组件进行Angular 17+前端开发。

包括:

  • Node.js 20
  • Angular CLI 17+
  • TypeScript,独立组件
  • 具有热重载功能的开发服务器
  • 测试框架设置

使用案例: 单页应用程序、渐进式web应用程序、企业前端

java春季启动

使用Spring Boot 3.x和Maven进行企业Java开发。

包括:

  • JDK(可配置版本,默认17)
  • 弹簧靴3.2.0
  • Maven构建工具
  • REST控制器支架
  • Spring Boot开发工具

使用案例: 企业后端、微服务、RESTful API、web应用程序

配置

用户配置

创建 ~/.config/nix-devshell-mcp/config.json:

{
  "author": "Your Name",
  "email": "your.email@example.com",
  "gitAutoInit": true,
  "defaults": {
    "nodeVersion": "20",
    "pythonVersion": "311",
    "javaVersion": "17"
  },
  "privateRegistry": {
    "npm": {
      "registry": "https://registry.company.com",
      "authToken": "${NPM_TOKEN}"
    }
  }
}

项目配置

创建 devshell-config.json 在您的项目中:

{
  "projectName": "my-awesome-project",
  "description": "An awesome project",
  "nodeVersion": "20",
  "author": "Team Name"
}

配置优先

工具选项>项目配置>用户配置>配置文件默认值

环境变量

使用 ${VAR_NAME} 配置中引用环境变量的语法:

{
  "npmRegistry": "${PRIVATE_NPM_REGISTRY}",
  "authToken": "${NPM_TOKEN}"
}

MCP工具

create_devshell

从配置文件模板创建开发环境。

参数:

  • projectPath (必填):项目目录的绝对路径
  • profile (必填):配置文件名称(typescript节点、python fastapi、angular前端、java spring boot)
  • options (可选):配置覆盖

例子:

{
  "projectPath": "/home/user/my-project",
  "profile": "typescript-node",
  "options": {
    "nodeVersion": "20",
    "projectName": "my-api",
    "packageManager": "pnpm"
  }
}

list_profiles

列出所有可用的开发环境配置文件。

退货:

{
  "profiles": [
    {
      "name": "typescript-node",
      "displayName": "TypeScript + Node.js",
      "description": "Modern TypeScript development...",
      "version": "1.0.0",
      "tags": ["typescript", "nodejs", "backend"]
    }
  ]
}

发展

项目结构

nix-devshell-mcp/
├── src/
│   ├── config/          # Configuration management
│   ├── fs/              # Filesystem operations
│   ├── profiles/        # Profile loading and management
│   ├── templates/       # Handlebars template rendering
│   ├── tools/           # DevshellTool orchestration
│   ├── utils/           # Error handling, logging
│   ├── validation/      # Input and schema validation
│   └── index.ts         # MCP server entry point
├── templates/           # Profile templates
│   ├── typescript-node/
│   ├── python-fastapi/
│   ├── angular-frontend/
│   └── java-spring-boot/
├── tests/               # Test suite (104 tests, 83% coverage)
└── docs/                # Specification documents

运行测试

# Run all tests
npm test

# Run with coverage
npm run test:coverage

# Watch mode
npm test -- --watch

建筑

# Build TypeScript
npm run build

# Development mode (watch)
npm run dev

装订和格式化

# Lint code
npm run lint

# Fix linting issues
npm run lint:fix

# Format code
npm run format

建筑

核心组件

配置管理器 -处理配置加载、合并和环境变量解析。

文件系统管理器 -通过原子写入、路径验证和非破坏性行为管理文件操作。

教授 -从模板目录加载并验证配置文件模板。

模板渲染器 -使用自定义帮助程序渲染Handlebars模板以进行常见转换。

验证器 -使用AJV对输入和配置执行JSON模式验证。

开发工具 -协调所有组件以创建完整的开发环境。

把手助手

模板渲染器包括11个自定义助手:

  • indent -将文本缩进N个空格
  • toJson -将对象转换为JSON字符串
  • ifEquals -条件比较
  • joinWith -使用分隔符连接数组
  • ifCond -灵活的条件运算符
  • default -如果为false,则返回默认值
  • lowercase -转换为小写
  • uppercase -转换为大写
  • kebabCase -转换为烤肉箱
  • camelCase -转换为camelCase
  • pascalCase -转换为PascalCase

文档

规范文件

存储库中提供了全面的规范:

贡献

欢迎投稿!请看 贡献.md 作为指导方针。

测试

该项目包括全面的测试覆盖范围:

  • 104测试 横跨6个测试套件
  • 83.21% 报表覆盖范围
  • 69.05% 判定覆盖
  • 98.66% 函数覆盖

测试包括:

  • 配置管理
  • 文件系统操作
  • 配置文件加载和验证
  • 模板渲染
  • 输入验证
  • 端到端编排

需求

  • Node.js:需要18+
  • 尼克斯:启用薄片
  • direnv:用于自动环境激活

许可证

国际协调委员会

支持

对于问题或疑问:

  • 检查 文档 第一
  • 审查现有
  • 创建包含详细信息的新问题

致谢

内置:

______________________________________________________________________

状态: ✅ 生产就绪

所有阶段均已完成:核心实施、配置文件、测试、文档。

目录标签

目录标签

开发工具TypeScriptClaude配置管理Nix开发环境本地部署自然语言编程企业级开发

支持客户端

Claude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP