Claude Code — claude mcp add
Cursor — ~/.cursor/mcp.json
VS Code — .vscode/mcp.json
Any MCP client — stdio or HTTP
RigelProductRigel MCP
Rigel MCP
Give every agent the whole chart.
One MCP entry gives Claude Code, Cursor or any MCP client 20 read-only tools over the services, contracts, consumers and callers Rigel has charted. And Rigel's own agents use your MCP servers in return.
$
claude mcp add --transport http rigel https://rigel.internal.example/mcpRuns once Rigel is installed in your network. HTTP transport Beta: no built-in auth yet, so keep it in-cluster or behind your authenticating proxy. Endpoint auth Coming soon.
01 · Both directions
MCP out, and MCP in.
Your agents read Rigel's chart. Rigel's agents call the servers you register. Same protocol, both ways.
Rigel centralizes cross-repo application knowledge, workflows, architecture and design patterns, and infra conventions, so agents across a microservice estate — tens to hundreds of repos — build consistently.
→ out · 20 read-only tools to your agents · → in · your MCP servers to Rigel's agents
The chart lives in Postgres + pgvector. Your agents query it through 20 read-only tools; Rigel's agents call out through an allowlist per agent, with editing built-ins banned.
Slack MCP — PR lifecycle threads
GitHub MCP — deploy risk digest
Postgres MCP — bundled · read-only
Any server you register — stdio or HTTP
View as list
- Out: Claude Code, Cursor, VS Code or any MCP client connects to Rigel MCP over stdio or Streamable HTTP and gets 20 read-only tools over the chart.
- The chart: one store in Postgres with pgvector. Your agents and Rigel's agents query it through the same core analysis functions, so improvements reach both.
- In: Rigel's agents call MCP servers you register (for example Slack, GitHub, the bundled read-only Postgres server, or anything else over stdio or HTTP), limited by a per-agent allowlist.
02 · Tool explorer
Twenty tools. All read-only.
Pick a tool to see a sample call. No MCP tool can change your code.
Repo · 7
Which repos are charted?
What is this service, and what do its deep-analysis docs say?
What does this service depend on, and what depends on it?
Which endpoints exist, by service, method or path?
How do services talk: HTTP, queues, event buses, shared databases?
What does the chart say about this topic in this repo?
Find docs and analysis by meaning (needs a Voyage AI key).
Cross-repo · 2 — endpoints & queues Beta
Who, in any other charted repo, consumes this package, endpoint or queue?
What's the graded cross-repo impact of this change, per repo and service?
Code graph · 7
Who calls this function?
What does this function call?
What does this file import, and who imports it?
What does this class extend or implement?
Which cluster of code does this belong to?
Everything within N hops of a symbol.
Find a symbol in the graph.
Application · 4
Which applications (constellations of repos) exist?
Which repos and services make up this application?
Search across every repo in the application.
The integration graph and data-flow narratives.
→ request · tools/call { "method": "tools/call", "params": { "name": "find_consumers", "arguments": { "source_repository_id": "orders-api", "package_names": ["@your-org/orders-client"] } } }
← result · text Cross-repo consumers for changes in orders-api: Repos affected: fulfillment, billing [package] fulfillment / fulfillment-service · severity: warning Depends on package "@your-org/orders-client" [package] billing / billing-worker · severity: warning Depends on package "@your-org/orders-client"
Argument names are real. Sample repos and output are illustrative.
03 · What changes
A blind rename, or a safe one.
Same prompt, same agent. The only difference is the chart.
● Done. Renamed the field and updated every reference in this repo.
Illustration
find_consumers(source_repository_id: "orders-api", package_names: ["@your-org/orders-client"])● Two services in other repos still read customerId. I'll add accountId, keep customerId as deprecated, and list both consumers in the PR.
Illustration
Package matching reads package.json manifests. Endpoint and queue matching are Beta and depend on how much detail the chart recorded.
04 · MCP in
Rigel's agents use your servers.
Register any MCP server once. Each agent gets only the tools it's allowed.
Any server, stdio or HTTP
Operators register servers in Settings; agents bind them through their allowlist.
Secrets by reference
Credentials are $VAR references, never pasted into prompts. Spawned servers get a minimal environment.
Per-agent allowlists
Tools = what the agent declares and the operator allows. Edit, Write, Bash, web and sub-agent built-ins are always banned.
Read-only for exposed agents Beta
Agents shared over A2A with MCP access are checked at enable time. Any tool marked readOnlyHint: false blocks the enable.
Binding a tickets server to an A2A agent · Illustration
| Tool | Declared by agent |
Allowed by operator |
Not a banned built-in |
readOnlyHint not false |
Result |
|---|---|---|---|---|---|
| get_issue tickets server | ✓ | ✓ | ✓ | ✓ | bound |
| search_issues tickets server | ✓ | ✗ | · | · | not offered |
| Bash built-in | ✓ | ✓ | ✗ | · | always banned |
| create_issue tickets server | ✓ | ✓ | ✓ | ✗ | enable blocked |
The read-only check is fail-closed: if a server can't be introspected, the agent isn't enabled.
A data boundary for sensitive databases
A bundled, read-only Postgres MCP server lets an agent query a sensitive database without the data leaving the boundary unredacted. Eight layers, in order:
dedicated grants
tenant setting per query
every statement
default 5 s
with a truncated signal
table and function allowlists
no multi-statements
unlisted columns come back redacted
Plus audit and your part
Errors are sanitised for the agent while the full error goes to an audit log of every query.
Some layers depend on you: the database role, grants and row-level security must be configured, and the redaction policy must be written. See Security & Trust.
05 · Connect
Run it where your agents run.
Prerequisite: at least one repo charted with Rigel, two or more for cross-repo answers.
Next to your agent
The server runs on the developer machine and connects straight to your Rigel database.
- The machine needs network access to that database.
- The connection string needs schema-owner rights Today. Treat it as a production credential.
One endpoint for the team
Stateless Streamable HTTP at /mcp. Every request gets a fresh server; all state lives in Postgres.
- Scales horizontally.
GET /healthfor probes. - No built-in auth: keep it in-cluster or behind your own authenticating proxy.
Remote, with auth
An authenticated, hosted MCP endpoint ships with Rigel Cloud. Until then, run Rigel MCP inside your network.
Recommended · HTTP
Today's pattern: an authenticating proxy. Keep the MCP service cluster-internal. Put an identity-aware reverse proxy (your OIDC provider) in front of/mcp, and give each developer's agent a token from that proxy, not a database credential. The MCP server holds no state, so it scales behind the proxy like any stateless HTTP service. This avoids handing out the schema-owner connection string that stdio needs today.
# terminal claude mcp add --transport http rigel https://rigel.internal.example/mcp
# ~/.cursor/mcp.json { "mcpServers": { "rigel": { "url": "https://rigel.internal.example/mcp" } } }
# .vscode/mcp.json { "servers": { "rigel": { "type": "http", "url": "https://rigel.internal.example/mcp" } } }
# any MCP client · command name for the upcoming release { "mcpServers": { "rigel": { "command": "rigel-mcp", "env": { "DATABASE_URL": "<YOUR_DATABASE_URL>", "VOYAGE_API_KEY": "<YOUR_VOYAGE_API_KEY>" } } } }
The URL is a placeholder for your in-network host. VOYAGE_API_KEY powers semantic_search; without it, that tool reports it's unavailable and the other 19 still work.
Rigel Map: how the chart is built from your repos.
What ships today →Every capability, with its status.
Book a technical walkthrough →We'll connect an agent to a charted repo with you.
Your first find_consumers, once your repos are charted.
Bring the agent you already use. Rigel is the control plane above it, not another one to switch to.
MCP quickstart: Docs (soon).