这是一个开源的“大脑”,用于AI员工,设计用于与n8n和其他工作流引擎协同工作。
克隆仓库:
git clone https://github.com/yourusername/mcp-agent-server.git
cd mcp-agent-server
如果需要,复制你的文档和记忆文件夹。
使用Docker Compose构建并运行:
docker-compose up --build
MCP服务器将在 http://localhost:4000 上可用。
npm install 安装依赖项。docker-compose up --build 启动所有服务。mcp-agent-server 是一个开源的、模块化的“大脑”,用于AI员工/代理,设计用于无缝地与n8n和其他工作流引擎协同工作。
AI员工比喻: 使用户能够“雇佣”、“分配”、“评估”和“改进”具有自己记忆、学习和反馈循环的持久AI代理。
有立场且以代理为中心: 与通用的工作流自动化工具不同,MCP代理服务器是有立场的,并专注于“AI员工”比喻,使得记忆、反馈和学习成为核心功能,而不是可选附加组件。
自然语言接口: 接受自然语言指令(不仅仅是API调用或工作流触发器),将其解析为可执行任务,并通过n8n或其他连接器进行编排执行。
主动、适应性和个性化: 代理可以建议行动,从用户反馈中学习,并随着时间的推移而改进。
垂直解决方案及简易性: 支持垂直解决方案(例如,“AI分析师”、“AI管理员”),具有预建技能、工作流和反馈循环,以及面向SMB和个人的简单、非技术用户体验。
持久、以代理为中心的记忆: 记忆和反馈是持久的并且以代理为中心,使代理能够记住过去的行动、用户偏好和绩效历史。
易于部署和扩展: 设计用于易于部署(Docker、Docker Compose)、扩展(可插拔连接器和技能)以及SaaS货币化(多租户、API密钥管理、账单集成)。
不仅仅是一个工作流工具: MCP代理服务器是一个平台,用于构建、管理和改进与人类一起工作的AI员工,从经验中学习,并提供真正的商业价值。
对于完整的架构、设计和上下文,请参阅MCP记忆中的“mcp-agent-server项目计划”实体以及/docs和/memory文件夹。
所有端点(除了 /health、/users/register 和 /users/login)都需要一个 x-api-key 头部。API密钥按用户管理。请参见以下用户和API密钥管理。
POST /users/register — 注册新用户(电子邮件、密码)POST /users/login — 登录并接收API密钥GET /users/me/api-keys — 列出您的API密钥POST /users/me/api-keys — 创建新的API密钥DELETE /users/me/api-keys/:id — 撤销API密钥# 注册新用户
Invoke-RestMethod -Uri "http://localhost:4000/users/register" -Method Post -ContentType "application/json" -Body '{"email": "user@example.com", "password": "yourpassword"}'
# 登录并获取API密钥
$login = Invoke-RestMethod -Uri "http://localhost:4000/users/login" -Method Post -ContentType "application/json" -Body '{"email": "user@example.com", "password": "yourpassword"}'
$apiKey = $login.apiKey
# 列出API密钥
Invoke-RestMethod -Uri "http://localhost:4000/users/me/api-keys" -Method Get -Headers @{ "x-api-key" = $apiKey }
# 创建新的API密钥
Invoke-RestMethod -Uri "http://localhost:4_000/users/me/api-keys" -Method Post -Headers @{ "x-api-key" = $apiKey }
# 撤销API密钥(将1替换为实际密钥ID)
Invoke-RestMethod -Uri "http://localhost:4000/users/me/api-keys/1" -Method Delete -Headers @{ "x-api-key" = $apiKey }
# 注册新用户
curl -X POST http://localhost:4000/users/register -H "Content-Type: application/json" -d '{"email": "user@example.com", "password": "yourpassword"}'
# 登录并获取API密钥
curl -X POST http://localhost:4000/users/login -H "Content-Type: application/json" -d '{"email": "user@example.com", "password": "yourpassword"}'
# 列出API密钥
curl http://localhost:4000/users/me/api-keys -H "x-api-key: <your-api-key>"
# 创建新的API密钥
curl -X POST http://localhost:4000/users/me/api-keys -H "x-api-key: <your-api-key>"
# 撤销API密钥(将1替换为实际密钥ID)
curl -X DELETE http://localhost:4000/users/me/api-keys/1 -H "x-api-key: <your-api-key>"
POST /agents/:id/memory — 为代理添加记忆/反馈。GET /agents/:id/memory — 列出代理的所有记忆/反馈。POST /agents/:id/trigger — 触发代理动作(n8n集成的存根)。$headers = @{ "x-api-key" = "changeme" }
# 创建代理
Invoke-RestMethod -Uri "http://localhost:4000/agents" -Method Post -Headers $headers -ContentType "application/json" -Body '{"name": "Test Agent"}'
# 添加记忆/反馈
Invoke-RestMethod -Uri "http://localhost:4000/agents/1/memory" -Method Post -Headers $headers -ContentType "application/json" -Body '{"content": "代理已完成入职培训。"}'
# 列出记忆/反馈
Invoke-RestMethod -Uri "http://localhost:4000/agents/1/memory" -Method Get -Headers $headers
# 触发代理
Invoke-RestMethod -Uri "http://localhost:4000/agents/1/trigger" -Method Post -Headers $headers
curl -X POST http://localhost:4000/agents/1/memory -H "Content-Type: application/json" -H "x-api-key: changeme" -d '{"content": "代理已完成入职培训。"}'
curl http://localhost:4000/agents/1/memory -H "x-api-key: changeme"
curl -X POST http://localhost:4000/agents/1/trigger -H "x-api-key: changeme"
docker-entrypoint.sh)。prisma/schema.prisma。npx prisma migrate dev --name <desc>(带有正在运行的Docker Postgres)。