使用说明
MCP代理服务器
这是人工智能员工的开源“大脑”,旨在与n8n和其他工作流引擎协同工作。
快速开始
-
克隆仓库: 克隆https://github.com/yourusername/mcp-agent-server.git cd-mcp代理服务器
-
如果需要,可以复制文档和内存文件夹。
-
使用Docker Compose构建和运行: docker构建
-
MCP服务器将在http://localhost:4000
入门指南
- 确保你安装了Node.js和Docker。
- 从package.json中删除任何注释(json不支持注释)。
- 跑
npm install安装依赖项。 - 使用
docker-compose up --build启动所有服务。 - 服务器将在以下时间可用http://localhost:4000.
- 有关体系结构和设计,请参阅/docs和/memory文件夹以及mcp内存中的“mcp代理服务器项目计划”。
项目结构
- /docs——设计、架构和使用文档
- /内存——持久内存、日志和知识
项目愿景:MCP代理服务器
这 mcp代理服务器 是一个面向人工智能员工/代理的开源模块化“大脑”,旨在与n8n和其他工作流引擎无缝协作。
-
AI员工隐喻:
使用户能够“雇佣”、“分配”、“评分”和“改进”持久性人工智能代理,每个代理都有自己的记忆、学习和反馈循环。 -
观点导向和以药物为中心:
与通用的工作流自动化工具不同,MCP代理服务器固执己见,专注于“人工智能员工”的比喻,使记忆、反馈和学习成为核心功能,而不是可选的附加功能。 -
自然语言界面:
接受自然语言指令(不仅仅是API调用或工作流触发器),将它们解析为可操作的任务,并通过n8n或其他连接器协调执行。 -
主动、自适应和个性化:
代理可以建议行动,从用户反馈中学习,并随着时间的推移而改进。 -
垂直解决方案和简单性:
支持具有预构建技能、工作流程和反馈回路的垂直解决方案(例如“AI分析师”、“AI管理员”),以及为中小企业和个人提供简单、非技术性的用户体验。 -
持久、以代理为中心的内存:
记忆和反馈是持久的,以代理为中心,使代理能够记住过去的操作、用户偏好和性能历史。 -
易于部署和扩展:
设计用于轻松部署(Docker、Docker Compose)、可扩展性(可插拔连接器和技能)和SaaS货币化(多对映体、API密钥管理、计费集成)。 -
不仅仅是另一个工作流工具:
MCP代理服务器是一个平台,用于构建、管理和改进与人类一起工作、从经验中学习并提供真正的商业价值的人工智能员工。
有关完整的设计、架构和上下文,请参阅mcp内存中的“mcp代理服务器项目计划”实体以及/docs和/memory文件夹。
API身份验证
所有端点(除 /health, /users/register,以及 /users/login)要求a x-api-key 头球API密钥由每个用户管理。有关用户和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密钥
PowerShell使用示例
# Register a new user
Invoke-RestMethod -Uri "http://localhost:4000/users/register" -Method Post -ContentType "application/json" -Body '{"email": "user@example.com", "password": "yourpassword"}'
# Login and get API key
$login = Invoke-RestMethod -Uri "http://localhost:4000/users/login" -Method Post -ContentType "application/json" -Body '{"email": "user@example.com", "password": "yourpassword"}'
$apiKey = $login.apiKey
# List API keys
Invoke-RestMethod -Uri "http://localhost:4000/users/me/api-keys" -Method Get -Headers @{ "x-api-key" = $apiKey }
# Create a new API key
Invoke-RestMethod -Uri "http://localhost:4000/users/me/api-keys" -Method Post -Headers @{ "x-api-key" = $apiKey }
# Revoke an API key (replace 1 with the actual key id)
Invoke-RestMethod -Uri "http://localhost:4000/users/me/api-keys/1" -Method Delete -Headers @{ "x-api-key" = $apiKey }
卷发用法示例
# Register a new user
curl -X POST http://localhost:4000/users/register -H "Content-Type: application/json" -d '{"email": "user@example.com", "password": "yourpassword"}'
# Login and get API key
curl -X POST http://localhost:4000/users/login -H "Content-Type: application/json" -d '{"email": "user@example.com", "password": "yourpassword"}'
# List API keys
curl http://localhost:4000/users/me/api-keys -H "x-api-key: <your-api-key>"
# Create a new API key
curl -X POST http://localhost:4000/users/me/api-keys -H "x-api-key: <your-api-key>"
# Revoke an API key (replace 1 with the actual key 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集成的存根)。
PowerShell使用示例
$headers = @{ "x-api-key" = "changeme" }
# Create an agent
Invoke-RestMethod -Uri "http://localhost:4000/agents" -Method Post -Headers $headers -ContentType "application/json" -Body '{"name": "Test Agent"}'
# Add memory/feedback
Invoke-RestMethod -Uri "http://localhost:4000/agents/1/memory" -Method Post -Headers $headers -ContentType "application/json" -Body '{"content": "Agent completed onboarding."}'
# List memory/feedback
Invoke-RestMethod -Uri "http://localhost:4000/agents/1/memory" -Method Get -Headers $headers
# Trigger agent
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": "Agent completed onboarding."}'
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)。 - 将生成的迁移文件提交到
prisma/migrations/到git。
- 编辑
- 在每次部署或容器重建时,所有迁移都将自动应用。
