使用说明
🤖 AgentLab——MCP后端+AI代理
一个模拟真实企业代理基础设施的专业后端系统。自然语言输入,商业行为输出。
User: "Create an order for 5 units of SKU-001"
└─► Agent API → LLM decides tools → MCP Backend → PostgreSQL
└─► "Order created and stock reserved successfully."
里面有什么
- MCP后端 --通过模型上下文协议公开业务工具(产品、库存、订单)
- 代理API --接收自然语言,使用LLM自动调用正确的工具
- n8n --协调工作流程(订单处理、付款回调)
- PostgreSQL --具有事务和行级锁定的持久存储
- 承载者身份 -所有MCP工具调用都需要有效的API密钥
🚀 入门
先决条件
- Docker桌面正在运行
- A.
.env根目录中的文件(复制自.env.example并填写数值)
cp .env.example .env
# Edit .env with your values
开始一切
docker compose up -d --build
| 服务 | URL |
|---|---|
| n8n | http://localhost:5678 |
| MCP后端 | http://localhost:8000/mcp |
| 代理API | http://localhost:9000 |
第一次设置--创建数据库模式
# Windows (PowerShell)
Get-Content db/schema.sql | docker exec -i agentlab_postgres psql -U n8n -d n8n
# Mac / Linux
docker exec -i agentlab_postgres psql -U n8n -d n8n < db/schema.sql
停止一切
docker compose down
⚠️ 从不使用
docker compose down -v--它删除包括数据库在内的所有数据。
🧪 测试代理
POST http://localhost:9000/chat
Content-Type: application/json
{ "message": "Create a product SKU-001 with 50 units of stock" }
{ "message": "How much stock does SKU-001 have?" }
{ "message": "Create an order for 3 units of SKU-001 and reserve the stock" }
检查 trace 在响应中的字段中查看代理进行的每个工具调用。
📁 项目结构
MCPServer/
├── services/
│ ├── mcp-backend/ # MCP server (FastMCP + asyncpg)
│ │ └── src/
│ │ ├── app/ # Config, DB pool, MCP app
│ │ └── tools/ # Business tools (products, stock, orders)
│ └── agent-api/ # AI agent (FastAPI + Groq/Llama)
│ └── src/
├── workflows/ # n8n workflow exports (JSON)
├── db/
│ └── schema.sql # Database schema
├── docker-compose.yml
└── .env.example
🔧 环境变量
复制 .env.example 到 .env 并填写:
| 变量 | 描述 |
|---|---|
POSTGRES_DB |
数据库名称 |
POSTGRES_USER |
数据库用户 |
POSTGRES_PASSWORD |
数据库密码 |
MCP_API_KEY |
MCP身份验证的承载令牌 |
GROQ_API_KEY |
Groq API密钥(在console.Groq.com上免费) |
N8N_ENCRYPTION_KEY |
n8n加密的随机字符串 |