Skip to main content
← All buyer guides

Buyer guide · agentic harnesses

MCP hardening for coding agents

MCP servers extend agents with filesystem, shell, and network tools. Treat each install like granting operator access — allowlist servers, scope folders, fail closed, and log calls; ignore files do not block MCP.

Who this is for: Security-conscious platform and engineering teams rolling out MCP-enabled coding agents (Cursor, Claude Code, Cline, Goose) who need allowlists, scoped access, logging, and fail-closed behaviour before production repos.

What actually matters

  • Each MCP server install is equivalent to granting filesystem, shell, or network access — not a harmless plugin.
  • Org allowlists and approval workflows must exist before developers install servers ad hoc.
  • Folder and network scope per server must match the repo’s data classification.
  • Harnesses should fail closed on unknown tools — silent attempts bypass security intent.
  • Tool-call logs must persist beyond the live UI for post-incident review.
  • .cursorignore and .clineignore do not block MCP or approved shell commands.
  • MCP configs should align across Claude Code, Cline, Goose, and Cursor so one permissive bypass does not spread.

ACE recommendation

Ship a short MCP allowlist with the rollout guide, require security review before any server reaches production repos, and audit tool logs weekly during the first pilot month.

Set up the shortlist

How to run this decision

  1. 01Draft a short MCP allowlist document: approved servers, owners, scopes, and review cadence.
  2. 02Require security sign-off before any new server reaches shared or production repositories.
  3. 03Configure each harness to reject unknown tool requests rather than silently attempting them.
  4. 04Enable or export tool-call logs to your SIEM or audit store during the pilot month.
  5. 05Train developers that ignore files do not protect against MCP — scope servers instead.
  6. 06Audit MCP configs weekly in the first pilot month; trim unused servers.

Common pitfalls

  • Treating MCP as “just integrations” without filesystem and shell risk assessment.
  • Letting each developer install personal MCP servers on company repos.
  • Assuming .cursorignore protects secrets from MCP read tools.
  • No persistent logs — incidents become unrecoverable he-said-she-said.
  • One developer’s permissive Claude Code MCP config becoming the team template.

Ask before you buy

  • Which MCP servers are on the org allowlist, and who approves new installs?
  • Does each server’s folder and network scope match the repo’s data classification?
  • Does the harness fail closed when an unknown tool is requested, or silently try anyway?
  • Are tool calls logged and reviewable after an incident — not only live in the UI?
  • Do developers know .cursorignore and .clineignore do not block MCP or approved shell commands?
  • Are Claude Code, Cline, Goose, and Cursor MCP configs aligned so one bypass does not become the team default?

More buyer guides

Related decisions

Other harness buyer guides that answer the next question after this one.