使用说明
使用Claude Skills和MCP构建生产就绪的AI代理
具有策略执行和PII编辑功能的自动化费用管理代理
此存储库演示了如何使用以下工具构建智能自动化 克劳德代码CLI, 技能,以及 **模型上下文协议(MCP)**非常适合那些想要生产就绪的人工智能代理而无需从头开始构建的开发人员。
🎯 你将学到什么
构建一个完整的费用管理人工智能代理,该代理:
- ✅ 执行公司政策 (餐费:75美元,差旅费:500美元,办公用品:200美元)
- ✅ 自动编辑PII (信用卡、社会安全号码、电话号码)
- ✅ 提交前验证 (拒绝超限费用)
- ✅ 提供明确的反馈 (解释违反政策的行为)
- ✅ 完全在本地运行 (你的数据永远不会离开你的机器)
🏗️ 建筑
该项目展示了 三层架构 对于生产AI代理:
| 层 | 技术 | 目的 | 示例 |
|---|---|---|---|
| 🧠 推理 | Claude Skills | 业务逻辑、策略规则、编排 | “验证60美元<75美元的用餐限额” |
| ⚡ 确定性运算 | Python脚本 | 快速、可靠的操作(PII编辑) | 使用正则表达式编辑信用卡号 |
| 🔌 外部集成 | MCP工具 | 数据库写入、API调用 | 向数据库提交费用 |
为什么是这种架构?
- 模块化:技能可在项目间重复使用
- 安全:PII编辑发生在任何外部调用之前
- 可维护性:政策变化发生在一个地方
- 可靠性:关键操作的确定性脚本
🚀 快速开始
先决条件
- Node.js 16+(适用于MCP服务器)
- python 3.8+(用于PII编辑脚本)
- 克劳德代码CLI (安装指南)
安装
# 1. Clone this repository
git clone https://github.com/jageenshukla/claude-skills-mcp-expense-automation.git
cd claude-skills-mcp-expense-automation
# 2. Install skill globally
cp -r .claude/skills/expense-policy ~/.claude/skills/
# 3. Build MCP server
cd mcp-server
npm install
npm run build
cd ..
# 4. Configure MCP server (choose one)
# Option A: Global configuration (recommended)
# Add to ~/.claude.json:
{
"mcpServers": {
"expense-policy": {
"type": "stdio",
"command": "node",
"args": ["mcp-server/dist/index.js"],
"cwd": "/absolute/path/to/claude-skills-mcp-expense-automation"
}
}
}
# Option B: Project configuration
# Already configured in .claude/.mcp.json
# Just update the "cwd" path to your location
# 5. Start Claude Code and test!
claude
测试示例
在Claude Code中尝试这些:
有效费用:
I had a business lunch for $60 on 2024-01-15. Used my card ending in 4532.
超限:
I need to expense a $600 flight
多个PII:
Office supplies $150. Card 4532-1234-5678-9012, call 555-1234
📁 项目结构
.
├── .claude/
│ ├── .mcp.json # Project MCP config (stdio mode)
│ └── skills/expense-policy/ # Skill definition
│ ├── SKILL.md # Instructions for Claude
│ └── scripts/redact.py # PII redaction script
├── mcp-server/ # MCP server
│ ├── src/
│ │ ├── index.ts # MCP server (stdio + HTTP)
│ │ └── tools/submitExpense.ts # Tool implementation
│ ├── dist/ # Built JS (after npm run build)
│ └── package.json
├── images/ # Screenshots and diagrams
├── README.md
└── LICENSE
🔧 运作原理
完整的工作流程
User: "Lunch $60, card ending in 4532"
↓
1. Claude loads expense-policy skill
↓
2. Skill validates: $60 < $75 ✓
↓
3. Skill runs: python redact.py "...card ending in 4532"
↓
4. Script returns: {"redacted_text": "...[REDACTED]", "has_pii": true}
↓
5. Skill calls: expense-policy_submitExpense(amount=60, description="...[REDACTED]")
↓
6. MCP server submits to your system
↓
7. Returns: "Expense EXP-xxx submitted!"
关键观察:原始PII永远不会到达MCP服务器或外部系统。补救措施发生在步骤3,在任何外部调用之前。
🎨 特性
Claude Skills(工作流层)
- 策略执行逻辑
- 费用类别验证
- 用户友好的错误消息
- 工作流编排
Python脚本(安全层)
- 确定性PII编辑
- 信用卡号检测
- SSN和电话号码屏蔽
- 快速、可测试、无需API成本
MCP服务器(集成层)
- 标准模式(由克劳德代码自动管理)
- HTTP模式(用于测试:
node dist/index.js --http) - 工具:
expense-policy_submitExpense - 准备好进行数据库/API集成
🌍 实际应用
此架构适用于需要策略执行和数据保护的任何工作流:
1. 客户支持票务
- 根据SLA规则验证票证优先级
- 更正客户个人身份信息(电子邮件、电话、地址)
- 通过MCP工具提交到Zendesk/Jira
2. 文档处理
- 验证文档格式和元数据
- 修改敏感部分(SSN、帐号)
- 通过MCP工具上传到S3/GCS
3. 医疗保健数据输入
- 根据HIPAA合规规则进行验证
- 修改患者标识符(MRN、DOB)
- 通过MCP工具提交至EHR系统
4. 财务报告
- 根据限额验证交易金额
- 屏蔽帐号和PIN
- 通过MCP工具提交到会计系统
🔒 安全与隐私
PII保护
- 自动编校 信用卡、社会安全号码、电话号码
- 首先采取补救措施 -在任何外部API调用之前
- 确定性脚本 -无LLM不确定性
- 可测试的 -正则表达式模式是可单元测试的
数据处理
- 跑 完全在当地 在您的机器上
- 没有数据发送到外部服务(您自己的MCP集成除外)
- 技能和脚本是 版本控制 可审计
- 完美适合 合规要求 (GDPR、HIPAA、PCI-DSS)
📊 性能和成本
| 度量 | 传统方法 | 技能+MCP | 改进 |
|---|---|---|---|
| PII补救措施 | LLM调用(~$0.01/请求) | Python脚本(~$0) | 100%降低成本 |
| 验证 | 系统内提示(重复) | 技能内(加载一次) | 速度提高50% |
| 延迟 | 多次LLM往返 | 单一工作流程 | 快3倍 |
| 可靠性 | 95%(LLM可以忘记) | 99.9%(确定性) | 可靠性提高5倍 |
| 维护 | 更新5+个提示 | 更新1技能.md | 轻松5倍 |
成本示例:10000次费用提交
- 传统:约100美元(LLM编辑+验证)
- 技能+MCP:约10美元(仅限工作流编排)
- 节省:90美元(成本降低90%)
🛠️ 发展
运行测试
# Test PII redaction script
cd .claude/skills/expense-policy/scripts
python3 redact.py "Card 4532-1234-5678-9012, call 555-123-4567"
# Test MCP server (HTTP mode)
cd mcp-server
node dist/index.js --http
# In another terminal:
curl http://localhost:3000/health
curl http://localhost:3000/tools
curl -X POST http://localhost:3000/tool/call \
-H "Content-Type: application/json" \
-d '{
"name": "expense-policy_submitExpense",
"arguments": {
"amount": 60,
"category": "meals",
"date": "2024-01-20",
"description": "Business lunch"
}
}'
定制
修改费用限额 -编辑 .claude/skills/expense-policy/SKILL.md:
## Policy Rules
- **Meals**: Maximum $100 per person # Changed from $75
- **Travel**: Maximum $750 per trip # Changed from $500
添加新的PII模式 -编辑 .claude/skills/expense-policy/scripts/redact.py:
def redact_custom(text: str) -> str:
# Add your custom redaction patterns
pattern = r'your-pattern-here'
return re.sub(pattern, '[REDACTED]', text)
连接您的数据库 -编辑 mcp-server/src/tools/submitExpense.ts:
// Replace mock with your actual database
import { db } from './your-database';
export async function submitExpense(input: ExpenseSubmission) {
const result = await db.expenses.create(input);
return result;
}
📚 了解更多
- 📖 Medium完整教程 -完整的分步指南
- 📘 克劳德技能文档 -官方技能指南
- 🔧 模型上下文协议 -MCP规范
- 💻 MCP-SDK -TypeScript
🤝 贡献
欢迎投稿!请随时提交拉取请求。
贡献想法:
- []添加更多PII检测模式(电子邮件、地址)
- []创建其他费用类别
- []添加收据OCR集成
- []构建费用提交的web UI
- []添加多币种支持
- []创建Docker编写设置
- []添加全面的测试套件
📝 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
📧 问题?
⭐ Star This Repo
如果你觉得这有帮助,请⭐️ 这个仓库,并与其他构建人工智能代理的人分享!
关键词: claude-ai claude-skills model-context-protocol mcp ai-agents expense-automation pii-redaction llm automation python typescript anthropic tutorial artificial-intelligence expense-management
