AI编码反馈服务器

LoopSense是一个开源的MCP服务器,为AI编码代理提供实时CI结果、部署、测试结果和文件系统变更的反馈。

  • by jarvisassistantux
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 jarvisassistantux/loopsense

使用说明

LoopSense MCP服务器

LoopSense是一个开源的MCP服务器,它为AI编码代理关闭了反馈回路,使他们能够实时查看CI结果、部署、测试结果和文件系统更改。

它做什么

当AI代理推送代码、运行测试或触发部署时,LoopSense会观察下游效果并将其显示回代理。不再盲目行动。

支持的来源:

  • GitHub操作CI运行(轮询)
  • 本地进程(stdout/stderr捕获、退出代码)
  • 文件系统更改(通过chokidar)
  • HTTP端点(轮询,带有状态/正文断言)
  • 传入的webhooks(轻量级HTTP服务器)

需求

  • Node.js 18+

安装

npm install -g @loopsense/mcp

或者直接使用npx运行:

npx @loopsense/mcp

MCP配置

克劳德代码 (一个衬垫):

claude mcp add loopsense -e GITHUB_TOKEN=ghp_yourtoken -- npx -y @loopsense/mcp

或者手动添加到您的 claude_desktop_config.json (或等效的MCP主机配置):

{
  "mcpServers": {
    "loopsense": {
      "command": "npx",
      "args": ["-y", "@loopsense/mcp"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

或者,如果全局安装:

{
  "mcpServers": {
    "loopsense": {
      "command": "loopsense",
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

环境变量

变量 描述
GITHUB_TOKEN 用于CI轮询的GitHub个人访问令牌

工具

watch_ci

观看GitHub Actions工作流的运行。每30秒进行一次轮询,并在状态更改时发出事件。

{
  "owner": "acme",
  "repo": "api",
  "branch": "main",
  "action_id": "deploy-2024-01"
}

watch_process

生成一个本地进程并捕获其输出和退出代码。

{
  "command": "npm",
  "args": ["test"],
  "cwd": "/path/to/project",
  "action_id": "run-tests"
}

watch_file

查看文件或目录是否有更改。

{
  "path": "/path/to/dir",
  "pattern": "**/*.ts",
  "action_id": "file-changes"
}

watch_url

轮询HTTP端点并检测状态或正文更改。

{
  "url": "https://api.example.com/health",
  "interval": 15,
  "expect": {
    "status": 200,
    "body_contains": "\"status\":\"ok\""
  }
}

watch_webhook

启动本地HTTP服务器以接收webhook有效负载。

{
  "source_type": "vercel",
  "port": 9876
}

将您的webhook发送者配置为POST到 http://localhost:9876.

check_consequences

获取特定操作或所有最近事件的事件。

{
  "action_id": "deploy-2024-01"
}

list_watches

列出所有活跃的观察者。

cancel_watch

通过ID阻止观察者。

{
  "watch_id": "uuid-here"
}

poll_events

获取自时间戳以来的事件(不支持通知的客户端的回退)。

{
  "since": "2024-01-01T00:00:00.000Z"
}

资源

LoopSense公开了两个反应式更新的MCP资源:

  • loopsense://timeline/recent --所有手表的最近100个事件
  • loopsense://watches/active --所有当前活动的手表
  • loopsense://consequences/{action_id} --特定行动的事件

用法示例

代理工作流可能看起来像:

  1. 代理将代码推送到分支
  2. 客服电话 watch_ci 随着 action_id: "my-pr-123"
  3. LoopSense每30秒轮询一次GitHub操作
  4. 当CI完成时,代理调用 check_consequences 随着 action_id: "my-pr-123"
  5. Agent看到测试失败并修复它们

数据存储

事件和观察记录将保存到 ~/.loopsense/events.db (SQLite)。服务器重新启动时,活动监视会自动恢复。

发展

git clone https://github.com/jarvisassistantux/loopsense
cd loopsense
npm install
npm run dev       # run in dev mode (tsx)
npm run build     # compile with tsup
npm run typecheck # TypeScript check
npm test          # run tests

许可证

麻省理工学院