AI员工代理服务器

MCP代理服务器是一个开源的模块化AI员工“大脑”,旨在与n8n和其他工作流引擎无缝协作,支持自然语言指令、持久记忆和学习功能。

  • by LeadBroaf
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 LeadBroaf/mcp-agent-server

使用说明

MCP代理服务器

这是人工智能员工的开源“大脑”,旨在与n8n和其他工作流引擎协同工作。

快速开始

  1. 克隆仓库: 克隆https://github.com/yourusername/mcp-agent-server.git cd-mcp代理服务器

  2. 如果需要,可以复制文档和内存文件夹。

  3. 使用Docker Compose构建和运行: docker构建

  4. MCP服务器将在http://localhost:4000

入门指南

  1. 确保你安装了Node.js和Docker。
  2. 从package.json中删除任何注释(json不支持注释)。
  3. 跑 npm install 安装依赖项。
  4. 使用 docker-compose up --build 启动所有服务。
  5. 服务器将在以下时间可用http://localhost:4000.
  6. 有关体系结构和设计,请参阅/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).
  • 要添加新模型或字段,请执行以下操作:
    1. 编辑 prisma/schema.prisma.
    2. 跑 npx prisma migrate dev --name <desc> 本地(运行Docker Postgres)。
    3. 将生成的迁移文件提交到 prisma/migrations/ 到git。
  • 在每次部署或容器重建时,所有迁移都将自动应用。