惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
Last Week in AI
Last Week in AI
Blog — PlanetScale
Blog — PlanetScale
V
Visual Studio Blog
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
博客园 - Franky
IT之家
IT之家
博客园 - 叶小钗
Engineering at Meta
Engineering at Meta
The GitHub Blog
The GitHub Blog
雷峰网
雷峰网
腾讯CDC
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
人人都是产品经理
人人都是产品经理
MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
宝玉的分享
宝玉的分享
博客园_首页
G
Google Developers Blog

Show HN

Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap GitHub - noopolis/moltnet: Self-hostable chat network for AI agents. Pre-built bridges for Claude Code, Codex, and the Claws. Rooms, DMs, history. No Slack bots, no Matrix, no glue code.
GitHub - sorena-ai/service-catalog-mcp: Service Catalog M...
redbrandi · 2026-06-23 · via Show HN

AI-powered platform for making batch code changes across multiple GitHub repositories. Connect any MCP client, describe a change in plain English, and Service Catalog finds the right repos, generates diffs via Claude or Devin, pushes branches, and opens pull requests.

Connect

Hosted service

claude mcp add --transport http service-catalog-mcp https://mcp.infraas.ai

Or add manually to your MCP client config:

{
  "mcpServers": {
    "service-catalog": {
      "url": "https://mcp.infraas.ai"
    }
  }
}

Self-hosted

claude mcp add --transport http service-catalog-mcp http://localhost:8200

See Self-hosting below to start the server locally.

Self-hosting

Prerequisites

  • Docker and Docker Compose
  • A GitHub personal access token with repo scope
  • An Anthropic API key or a Devin account

1. Configure

cp .env.example .env
# Edit .env — at minimum set GITHUB_TOKEN and ANTHROPIC_API_KEY

2. Set up your CLI provider

Service Catalog generates code changes by running a CLI agent inside each cloned repository. Two providers are supported.

Claude (default)

Set in .env:

CLI_PROVIDER=claude
ANTHROPIC_API_KEY=sk-ant-...

That's all — no other setup needed.

Devin

Devin authenticates via a credentials file on your host machine. Set it up once, then mount the file into the container so it persists across restarts.

Step 1 — authenticate on your host:

# Install the Devin CLI if you haven't already
curl -fsSL https://cli.devin.ai/install.sh | bash

# Log in — this saves credentials to ~/.local/share/devin/credentials.toml
devin auth login --force-manual-token-flow

Step 2 — mount the credentials file. Add this volume to the mcp-server service in docker-compose.yml:

volumes:
  - ~/.local/share/devin/credentials.toml:/root/.local/share/devin/credentials.toml:ro
  - batch-workspaces:/var/batch-workspaces
  - repo-clones:/repos

Step 3 — set in .env:

3. Start

The MCP server is available at http://localhost:8200.

4. Connect your MCP client

claude mcp add --transport http service-catalog-mcp http://localhost:8200

How it works

A batch change follows four steps, each confirmed before moving to the next:

  1. Find repossearch_repos finds repos by language, framework, dependency, or a plain-English query.
  2. Planpropose_plan calls the planner LLM and proposes a per-repo task; adjust with replan or set_repo_subtask before approving.
  3. Diffstart_diffs runs the CLI agent in each repo; wait_for_diffs polls progress; review diffs with chat_repo.
  4. Push & PRpush_repos pushes branches; get_workflow_runs shows CI; create_pr opens pull requests.

Tools

Discovery

Tool Description
search_repos Search by dependency, language, framework, platform, GitHub Action, or NL query
get_codebase_glossary Project-specific terminology and search hints
list_repository_groups List saved repository groups
get_repository_group Fetch a saved group by name
list_user_repositories All linked repositories with indexing status
index_repository Manually trigger indexing for a specific repo

Batch change

Tool Description
propose_plan Start a batch — runs the planner and proposes per-repo tasks
replan Re-run the planner with a hint
set_repo_subtask Edit one repo's task description or base branch
add_repos Add repos mid-batch
remove_repos Remove repos from the current batch
start_diffs Kick off the CLI agent for all pending repos
wait_for_diffs Poll diff progress; streams updates, returns after ~25 s
chat_repo Ask questions (mode="qa") or request edits (mode="edit") on a repo's diff
inspect_batch View session status, PR status, or a specific file's diff
push_repos Push branches for ready repos
create_pr_prep Draft PR title and body for each repo
set_pr_prep Edit a repo's PR title or body
create_pr Open pull requests
update_pr Edit an open PR
close_pr Close PRs without merging
cancel_batch Cancel all in-flight tasks and wipe the session

CI/CD

Tool Description
get_workflow_runs GitHub Actions status across repos — call without args after push_repos to check all pushed repos
get_workflow_jobs Per-job/step detail for a run; use failed_only=True for triage

Environment variables

Variable Default Description
LOCAL true true = single-user local mode; false = cloud mode (requires Auth0 + MongoDB)
GITHUB_TOKEN Personal access token with repo scope (local mode)
CLI_PROVIDER claude Code-change agent: claude or devin
ANTHROPIC_API_KEY Required when CLI_PROVIDER=claude
CLAUDE_CLI_DEFAULT_MODEL Override the model used by the Claude CLI
DEVIN_MODEL Override the model used by the Devin CLI
MONGODB_URI MongoDB connection string (falls back to TinyDB if unset)
MONGODB_DATABASE service-catalog MongoDB database name
REDIS_URL Redis URL (falls back to in-memory cache if unset)
MCP_PORT 8200 Port the MCP server listens on
LOG_LEVEL INFO Log verbosity
LANGSMITH_API_KEY Enable LangSmith tracing (optional)
CLONE_REPO_BASE_DIR /repos Base directory for indexer clones
BATCH_CLONE_BASE_DIR /var/batch-workspaces Base directory for batch change workspaces

Cloud-mode variables (LOCAL=false): MCP_AUTH0_DOMAIN, MCP_AUTH0_CLIENT_ID, MCP_AUTH0_CLIENT_SECRET, MCP_AUTH0_AUDIENCE, MCP_BASE_URL, GITHUB_APP_ID, GITHUB_APP_NAME, GITHUB_PRIVATE_KEY_PATH.

License

MIT — see LICENSE.