多工具AI代理系统

一个全栈AI代理系统,从电子邮件或文本中提取任务,映射到MCP工具,并在用户明确批准后执行。

  • by akshanshjain1
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 akshanshjain1/mcp-project

使用说明

🤖 自主工作空间v3——多工具AI代理(安全模式)

一个全栈AI代理系统,从电子邮件或文本中提取任务,将其映射到MCP工具,并在明确的用户批准下执行。

✨ 特性

  • 📧 电子邮件/文本分析 --粘贴任何电子邮件或任务描述
  • 🔍 AI任务提取 --Groq LLM提取可操作的任务
  • 🔧 工具映射 --自动将任务映射到MCP工具
  • 🛡️ 安全模式 --未经明确批准不得执行
  • 📊 置信度得分 --AI为每项任务提供信心
  • 📝 审计跟踪 --完整记录所有操作
  • 🎨 高级深色用户界面 --现代、灵敏的设计

🏗️ 建筑

Frontend (React + Vite) ⇄ MCP Server ⇄ Groq API + Tool Adapters

可用工具

工具 描述 状态
filesystem 读/写文件(沙盒) ✅ 活动
github GitHub API操作 ✅ 活动
slack 发送Slack消息 ✅ 活动
calendar 管理日历事件 ✅ 活动
terminal 执行命令 ⚠️ 默认情况下已禁用
browser 安全HTTP获取 ✅ 活动

🚀 快速开始

先决条件

安装

# Clone and navigate
cd mcp

# Install all dependencies
npm run install:all

# Configure environment
cp mcp-server/.env.example mcp-server/.env
# Edit .env and add your GROQ_API_KEY

跑步

终端1-MCP服务器:

npm run dev:mcp

2号航站楼——前端:

npm run dev:web

打开http://localhost:5173

📝 示例用法

电子邮件输入示例

Hi team,

Please handle the following:

1. Create a new file called "meeting-notes.md" with today's date
2. Send a Slack message to #general about the standup at 10am
3. Create a GitHub issue for the login bug we discussed
4. Add a calendar event for the design review on Friday at 2pm

Thanks!

预期输出

AI将提取4个任务:

  1. 文件系统 → 创建会议笔记.md
  2. Slack → 向#general发送消息
  3. GitHub → 创建登录错误问题
  4. 日历 → 创建周五下午2点的活动

每个任务显示:

  • 建议工具
  • 有效载荷预览
  • 置信度得分
  • 批准按钮

🔒 安全

安全模式(默认)

  • ✅ 无自动执行 --所有任务都需要明确批准
  • ✅ 沙盒文件系统 --只有 ./sandbox 文件夹可访问
  • ✅ 终端已禁用 --设置 ALLOW_TERMINAL=true 启用
  • ✅ 命令白名单 --只允许使用安全命令
  • ✅ 完整的审计追踪 --记录的每个操作

环境变量

变量 描述 默认值
GROQ_API_KEY 您的Groq API密钥 必需
MCP_SERVER_PORT 服务器端口 3001
ALLOW_TERMINAL 启用终端适配器 false

📁 项目结构

├── client/                 # React Frontend
│   ├── src/
│   │   ├── components/     # UI Components
│   │   ├── api/            # MCP API Client
│   │   ├── lib/            # Types
│   │   └── utils/          # Utilities
│   └── ...
├── mcp-server/             # MCP Backend
│   ├── src/
│   │   ├── tools/          # Tool Adapters
│   │   │   └── adapters/   # Individual tools
│   │   ├── planner.ts      # LLM Orchestration
│   │   ├── groqClient.ts   # Groq API
│   │   ├── validation.ts   # Zod Schemas
│   │   └── audit.ts        # Audit Logging
│   ├── audit/              # Audit logs
│   └── sandbox/            # Sandboxed files
└── README.md

🔌 API终点

POST/api/计划

分析文本并生成执行计划。

请求:

{
  "text": "Create a file called notes.md..."
}

答复:

{
  "summary": "Plan to create a notes file",
  "tasks": [
    {
      "id": "task-1",
      "description": "Create notes.md file",
      "tool": "filesystem",
      "payload": { "action": "write", "path": "notes.md", "content": "..." },
      "confidence": 0.95,
      "status": "pending"
    }
  ]
}

POST/api/执行

执行已批准的任务。

请求:

{
  "taskId": "task-1",
  "tool": "filesystem",
  "payload": { "action": "write", "path": "notes.md", "content": "..." }
}

GET/api/audit

检索审核历史记录。

🛠️ 发展

添加新工具

  1. 在中创建适配器 mcp-server/src/tools/adapters/
  2. 注册 mcp-server/src/tools/dispatcher.ts
  3. 更新Groq提示 mcp-server/src/groqClient.ts

自定义提示

在中编辑提示 groqClient.ts 调整任务提取和工具映射行为。

📄 许可证

MIT许可证——请随意使用和修改。


内置于❤️ 使用React、TypeScript、Groq和TailwindCSS

e9eba61(首次提交)