A community-driven registry for the Claude Code ecosystem. Not affiliated with Anthropic.
Are you the author? Sign in to claim
LoopSense is an open-source MCP server that closes the feedback loop for AI coding agents — giving them real-time visibi

LoopSense is an open-source MCP server that closes the feedback loop for AI coding agents — giving them real-time visibility into CI results, deployments, test outcomes, and file system changes.
When an AI agent pushes code, runs tests, or triggers a deployment, LoopSense watches the downstream effects and surfaces them back to the agent. No more blind actions.
Supported sources:
npm install -g @loopsense/mcp
Or run directly with npx:
npx @loopsense/mcp
Claude Code (one-liner):
claude mcp add loopsense -e GITHUB_TOKEN=ghp_yourtoken -- npx -y @loopsense/mcp
Or add manually to your claude_desktop_config.json (or equivalent MCP host config):
{
"mcpServers": {
"loopsense": {
"command": "npx",
"args": ["-y", "@loopsense/mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}
Or if installed globally:
{
"mcpServers": {
"loopsense": {
"command": "loopsense",
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}
| Variable | Description |
|---|---|
GITHUB_TOKEN | GitHub personal access token for CI polling |
watch_ciWatch a GitHub Actions workflow run. Polls every 30 seconds and emits events on status changes.
{
"owner": "acme",
"repo": "api",
"branch": "main",
"action_id": "deploy-2024-01"
}
watch_processSpawn a local process and capture its output and exit code.
{
"command": "npm",
"args": ["test"],
"cwd": "/path/to/project",
"action_id": "run-tests"
}
watch_fileWatch a file or directory for changes.
{
"path": "/path/to/dir",
"pattern": "**/*.ts",
"action_id": "file-changes"
}
watch_urlPoll an HTTP endpoint and detect status or body changes.
{
"url": "https://api.example.com/health",
"interval": 15,
"expect": {
"status": 200,
"body_contains": "\"status\":\"ok\""
}
}
watch_webhookStart a local HTTP server to receive webhook payloads.
{
"source_type": "vercel",
"port": 9876
}
Configure your webhook sender to POST to http://localhost:9876.
check_consequencesGet events for a specific action or all recent events.
{
"action_id": "deploy-2024-01"
}
list_watchesList all active watchers.
cancel_watchStop a watcher by ID.
{
"watch_id": "uuid-here"
}
poll_eventsGet events since a timestamp (fallback for clients without notification support).
{
"since": "2024-01-01T00:00:00.000Z"
}
LoopSense exposes two MCP resources that update reactively:
loopsense://timeline/recent — last 100 events across all watchesloopsense://watches/active — all currently active watchesloopsense://consequences/{action_id} — events for a specific actionAn agent workflow might look like:
watch_ci with action_id: "my-pr-123"check_consequences with action_id: "my-pr-123"Events and watch records are persisted to ~/.loopsense/events.db (SQLite). Active watches are resumed automatically on server restart.
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
MIT
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
MCP server integration for DaVinci Resolve Studio
Secure MCP server for MySQL database interaction, queries, and schema management