俳句代码服务器
一个模型上下文协议(MCP)服务器,它将简单、重复的代码生成任务委托给Claude Haiku 4.5以实现成本效益的执行。该服务器旨在被更智能的编排模型(如Claude Sonnet/Opus)调用,以达到最佳的成本和性能平衡。
概述
这个MCP服务器提供了专门的工具来生成:
- 样板代码(CRUD、API、模型、服务)
- 配置文件(Docker、K8s、CI/CD)
- 测试套件(单元测试、集成测试、边界情况测试)
- 组件脚手架(React、Vue、类、模式)
- 文档(API文档、阅读材料、文档字符串)
为什么要使用这个?
- 成本降低90%Haiku的成本约为每百万令牌输入(MTok)0.80美元,而Sonnet的成本约为每百万令牌输入3美元
- 更快的响应简单任务在2-5秒内完成
- 更优的资源配置为复杂推理保留昂贵的模型上下文
- 生产质量生成结构良好、类型明确、附有文档的代码
建筑
┌─────────────────────────────────────────┐
│ Smart Model (Sonnet/Opus) │
│ - Planning & Orchestration │
│ - Complex Business Logic │
│ - Architecture Decisions │
└─────────────┬───────────────────────────┘
│ Delegates simple tasks
│ via MCP
▼
┌─────────────────────────────────────────┐
│ Haiku Code Server (this) │
│ - Receives structured specs │
│ - Validates inputs │
│ - Delegates to Haiku 4.5 │
└─────────────┬───────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Claude Haiku 4.5 │
│ - Fast, cost-efficient execution │
│ - Boilerplate generation │
│ - Template-based code │
└─────────────────────────────────────────┘安装
先决条件
- Python 3.10 或更高版本
- Anthropic API密钥
- Claude Desktop(或任何MCP兼容的客户端)
第一步:克隆或下载
cd haiku_code_server步骤2:安装依赖项
pip install -r requirements.txt或者使用该软件包:
pip install -e .步骤3:设置环境变量
复制示例环境文件:
cp .env.example .env编辑 .env 并添加您的Anthropic API密钥:
ANTHROPIC_API_KEY=your_api_key_here可选的环境变量:
# Use a specific Haiku model version
HAIKU_MODEL=claude-haiku-4.5-20250929
# Enable/disable features
ENABLE_COST_TRACKING=true
ENABLE_CACHING=true
# Logging
LOG_LEVEL=INFO步骤4:配置Claude桌面版
将服务器添加到您的Claude桌面配置文件中:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
添加此配置:
{
"mcpServers": {
"haiku-code-server": {
"command": "python",
"args": [
"-m",
"haiku_code_server.src.server"
],
"cwd": "D:\\Haiku MCP\\haiku_code_server",
"env": {
"ANTHROPIC_API_KEY": "your_api_key_here"
}
}
}
}重要的:
- 调整
cwd你实际安装目录的路径 - 使用双反斜杠(
\\在Windows系统中使用反斜杠()或正斜杠(/在Unix上 - 替换
your_api_key_here使用您的实际API密钥
步骤5:重启Claude桌面版
重启 Claude 桌面以加载 MCP 服务器。
步骤6:验证安装
在Claude Desktop中,输入:
Can you list your available tools?你应该能看到列出的5个Haiku代码服务器工具:
generate_boilerplate_codecreate_config_filegenerate_test_suitescaffold_componentgenerate_documentation
用法
对于智能模型(编排器)
如果你是Claude Sonnet/Opus或其他作曲模型,请参阅 SMART_MODEL_GUIDE.md 翻译为中文是:“SMART模型指南.md” 以获取详细的使用说明。
对于终端用户
只需让Claude生成样板代码、配置文件、测试等。Claude会在适当的时候自动使用Haiku代码服务器。
示例请求
生成一个REST API:
Create a REST API for managing products with FastAPI. Include CRUD operations,
pagination, filtering, and JWT authentication.生成配置:
Create a docker-compose.yml for a web app with PostgreSQL and Redis.生成测试:
Write comprehensive pytest tests for this function:
[paste your function]构建组件框架:
Create a React component for a user profile card with edit and delete functionality.生成文档:
Generate API reference documentation for this code:
[paste your code]可用工具
1. generate_boilerplate_code
生成通用代码模式和样板代码。
用途:
- REST API的增删改查操作
- 数据库模型(ORM)
- 服务类
- 中间件、验证器、序列化器
- 设计模式(仓库模式、工厂模式等)
示例:
{
"code_type": "rest_api_crud",
"entity_name": "User",
"framework": "fastapi",
"language": "python",
"fields": {
"id": "UUID",
"email": "EmailStr",
"full_name": "str",
"is_active": "bool"
},
"features": ["pagination", "filtering", "jwt_auth"],
"conventions": {
"style": "google",
"max_line_length": 88,
"use_async": true
}
}2. create_config_file
生成配置文件。
用途:
- Docker/docker-compose
- Kubernetes 清单
- CI/CD 配置(GitHub Actions,GitLab CI)
- Web服务器配置(nginx,apache)
- 包配置文件(package.json,pyproject.toml)
示例:
{
"config_type": "docker_compose",
"version": "3.8",
"environment": "production",
"settings": {
"services": {
"web": {
"build": ".",
"ports": ["8000:8000"]
}
}
}
}3. generate_test_suite
生成全面的测试套件。
用途:
- 单元测试
- 集成测试
- 边缘情况测试
- 错误处理测试
示例:
{
"code_to_test": "def add(a: int, b: int) -> int:\n return a + b",
"test_framework": "pytest",
"language": "python",
"test_types": ["unit", "edge_cases"],
"coverage_target": 90
}4. scaffold_component
脚手架标准组件。
用途:
- React/Vue/Angular 组件
- Python/Java/Go 课程
- 数据库模式
- API路由器
示例:
{
"component_type": "react_component",
"component_name": "UserCard",
"language": "typescript",
"props": {
"user": "User",
"onEdit": "(userId: string) => void"
},
"features": ["state_management", "error_handling"]
}5. generate_documentation
生成文档。
用途:
- API参考文档
- README文件
- 行内注释/文档字符串
- 用户指南
- OpenAPI规范
示例:
{
"doc_type": "api_reference",
"language": "python",
"code": "[your code here]",
"style": "google",
"include_examples": true
}特点/特性
成本追踪
服务器跟踪每个请求的令牌使用情况和成本,并维护会话总和:
## Session Usage
- Total Tokens: 1,234
- Total Cost: $0.001234缓存
相同的请求会被缓存15分钟,从而降低重复操作的成本。
要禁用缓存:
ENABLE_CACHING=false质量保证
每个回复都包含:
- 生成的代码带有语法高亮
- 生成元数据(时间、令牌数、成本)
- 改进建议
- (在适用时)发出警告
错误处理
全面的错误处理,包括:
- 使用 Pydantic 进行输入验证
- 优雅的错误信息
- 针对问题提出的可操作性建议
演出
典型性能指标:
| 指标 | 值 |
|---|---|
| 生成时间 | 2-5秒 |
| 每次请求的成本 | 0.001 - 0.005 美元 |
| 代码质量 | 准生产就绪 |
| 缓存命中率 | ~30-40%(典型值) |
发展
项目结构
haiku_code_server/
├── src/
│ ├── server.py # Main MCP server
│ ├── tools/ # Tool implementations
│ │ ├── boilerplate.py
│ │ ├── config.py
│ │ ├── tests.py
│ │ ├── scaffold.py
│ │ └── docs.py
│ ├── models/
│ │ └── schemas.py # Pydantic models
│ ├── prompts/
│ │ └── templates.py # Haiku prompt templates
│ └── utils/
│ └── haiku_client.py # Anthropic client wrapper
├── SMART_MODEL_GUIDE.md # Guide for orchestrator models
├── README.md # This file
├── requirements.txt
├── pyproject.toml
└── .env.example运行测试
pytest代码检查(或代码规范检查)
black src/
ruff check src/故障排除
服务器未出现在Claude桌面版中
- 检查路径是否在
claude_desktop_config.json是正确的 - 确保 Python 已添加到您的系统路径中
- 重启Claude桌面版
- 检查Claude Desktop的日志以查找错误
API密钥问题
Error: ANTHROPIC_API_KEY must be set解决方案确保您的API密钥已设置在以下任一位置:
.env项目目录中的文件- 环境变量中的
claude_desktop_config.json - 系统环境变量
ANTHROPIC_API_KEY
“Generation Failures”可以翻译为“代际失败”或“世代之败”。具体翻译取决于上下文和语境,但这两个翻译都能传达出“由于某一代人的原因而导致的失败或问题”的基本含义
如果代码生成失败:
- 检查所有必填字段是否已填写
- 确保规格足够详细
- 检查特定问题的错误信息
- 检查您的API密钥是否拥有足够的信用额度
缓存问题
清除缓存:
rm -rf .cache/或者禁用缓存 .env:
ENABLE_CACHING=false成本优化技巧
- 要具体明确详细规格降低了再生需求
- 使用缓存利用15分钟缓存来处理类似请求
- 批量操作将相似的生成任务分组
- 监控使用情况检查会话统计信息以跟踪成本
- 适宜的温度确定性代码的较低温度(0.2-0.3)
局限性
此服务器不执行的操作:
- 复杂的业务逻辑
- 架构决策
- 新颖的算法
- 深入的情境理解
- 安全审计
- 性能优化分析
对于这些任务,编排器模型(Sonnet/Opus)应该直接处理它们。
贡献;做出贡献
欢迎贡献!改进方向包括:
- 额外的代码模板
- 更多配置文件类型
- 更清晰的错误信息
- 性能优化
- 测试覆盖率
许可证
MIT 许可证 - 详情请参阅 LICENSE 文件
支持
对于问题、疑问或建议:
- 在GitHub上提交一个问题(或“创建一个议题”)
- 检查一下 SMART_MODEL_GUIDE.md 翻译为中文是:“SMART模型指南.md” 用于使用指南
- 查看示例用法
examples/usage_examples.md
更新日志
v0.1.0(初始发布)
- 代码生成的5大核心工具
- 成本追踪和缓存
- 全面的输入验证
- 智能模型集成指南
- 生产就绪的代码生成
致谢
构建于:
- Anthropic Claude(注:此处“Anthropic”可能指的是开发Claude模型的公司或研究机构,但直接翻译时通常保留原名,因此“Anthropic”在此处不直接译为中文,若需强调其为公司或机构名,可译为“安萨特里普”等音译,但在此上下文中保留原样更为常见) - 人工智能模型
- MCP SDK(MCP软件开发工具包) - 模型上下文协议
- Pydantic - 数据验证
______________________________________________________________________
编码愉快! 🚀 表情符号“🚀”在中文中通常被翻译为“火箭”或直接保留原样以表示该表情,不直接对应具体的中文词汇,但在这里可以理解为“发射升空”或“快速前进”的意象。所以,可以翻译为“🚀(火箭/发射升空)”。
