⟨ BLOGPLAYBOOKSDATA FOR AGENTS

Expose list <name> to my Claude Code session through MCP

Give a Claude Code session live access to list <name> over MCP: read rows, filter by fit score and trigger enrichment, with the server URL, a scoped key and an example call.

PlaybookListsMCPEnrichmentRUN BY THE PROSPECTING AGENT →

The problem this solves

You are in Claude Code writing the script that will work list <name>, and every question about the data means leaving the terminal: what columns does the list have, how many rows score above 80, which of them have a verified email. You export a CSV, paste a few rows into the session, and by the time the script runs the list has moved on.

The session should be able to ask the list directly. MCP is the protocol coding agents already speak, and the AstroFabric MCP server exposes the same list, enrichment and verification tools the console agents use. Connected once, the session reads rows, filters them and requests enrichment on the rows it decides need it, and every result arrives as JSON it can reason over.

What keeps this safe is the key. A session that reads a list should hold a key that reads lists and runs enrichment and nothing wider, so a prompt that goes sideways cannot push rows into your CRM or an ad audience. One key per surface, scoped to the job, revocable in one click.

How the mission runs

  1. Mint a key scoped to this session. On the API-keys page, the Prospecting Agent has you create a key named for the session with scopes limited to list reads and the enrichment tools. Signing in from the MCP client works too: the client discovers the sign-in flow, you approve a workspace, and the granted key appears on the same page named after the client, where revoking it cuts access instantly.
  2. Point Claude Code at the server. The server URL is the one shown on the console's MCP card, the same for every workspace, and the CLI's connect command for Claude Code prints the exact setup block. The key travels in an Authorization header as a Bearer token. By default the server exposes mission_agent, which takes a whole objective; adding the tools=all option to the URL exposes the individual list, enrichment and verification tools so the session can call them one at a time.
  3. Read list <name> and its columns. The first call reads list <name>: its id, row count, status and columns. From there the session pages through rows with a limit and an offset, and each row comes back with its fit score, reasons, email status and latest signal, ready to filter in code or in the session's own reasoning.
  4. Filter by fit score. A rows call with a minimum fit-score filter returns only the rows above your cutoff. The session can combine filters - a score above 80 and a verified email present, for example - so the working set is narrow before any credits are spent on enrichment.
  5. Request enrichment on demand. When the session decides a row needs a direct phone number or a missing technographic field, it calls the enrichment tool on that row. The waterfall tries sources one after another until the field fills, meters only when a source answers, and the filled row is written back to list <name>, where the session and everyone else in the workspace see it.

The prompt

This is the exact objective the agent receives. Swap the obvious placeholders for your own domain, segment or channel and run it as-is from the console, Slack, or the API.

⟨ THE MISSION PROMPT · PASTE AND RUN ⟩

Expose list <name> to my Claude Code session through MCP so the session can read rows, filter by fit score and request enrichment on demand. Give me the server URL, the key scope to use and an example call.

What comes back

A working MCP connection from your Claude Code session to list <name>: the server URL, a key scoped to list reads and enrichment, the setup block for Claude Code, and an example call that reads the list, filters rows with a fit score above 80 and requests enrichment on the first ten. Everything the session touches is metered against the workspace and recorded in the audit trail under the key's name, so you can see exactly what the session read and what it paid to fill.

Make it yours

  • Connect Cursor, Codex, Gemini CLI, VS Code or Windsurf the same way; the CLI's connect command prints the setup for each client.
  • Keep the default single tool when the session should hand whole objectives to the platform - build me 50 more rows like the top of this list - rather than call data tools one by one.
  • Widen the key when the session is meant to add rows it finds during its own research, and keep CRM and audience writes off the key regardless.

Frequently asked questions

Does reading rows cost credits?

Reads are light calls against data already in the workspace. Enrichment is what meters, per field a source actually fills, and the session sees the cost on each response so it can decide how far to go.

Can the session write to my CRM through this connection?

Only if the key allows it, and even then a push into a CRM, sheet or audience is approval-gated: the call returns an approval id and a human decides in the console or in Slack. A key scoped to reads and enrichment cannot start one.

Do I need the CLI installed?

No. The server URL and a key are enough for any MCP client. The CLI is a convenience: its connect command prints the exact setup block for each client, and its docs command prints a manual the session can learn the platform from.

Is the list a snapshot or live?

Live. List <name> is persistent and refreshable, so a refresh that adds new matches tonight is visible to the session tomorrow through the same calls, and enrichment the session requests lands on the shared rows.

Go deeper

⟨ RUN IT INSTEAD OF READING IT ⟩

This mission runs minutes after signup.

Open a workspace, paste the prompt, and the Prospecting Agent carries it end to end on your plan's monthly credits - evidence attached.

⟨ RELATED PLAYBOOKS ⟩