Engineering note

What MCP Changed in My Cursor Setup

I spend a lot of time coding in Cursor. The model is rarely short on code to write. The harder part is giving it the exact issue, pull request, or design value I meant without filling the context window with unrelated output.

MCP gives clients a standard way to call external tools and read external data. I started using it because pasting tickets and dumping shell output into a prompt was both slow and unreliable.

Where it helps

GitHub

My old workflow for a repository question usually started with git log, grep, or a copied pull request diff. Broad commands returned too much; narrow commands often missed the useful file.

The GitHub MCP server lets Cursor request the pull request, changed files, or issue directly. If I ask about a bug from the last PR, the agent can read that PR instead of guessing which local command will reconstruct it.

I still use Git for the working tree. MCP is more useful for remote state: reviews, issues, PR metadata, and diffs that already live on GitHub.

Figma

A screenshot is enough to copy the rough shape of a component, but it is a poor source for exact spacing and typography. With Figma connected, Cursor can read node properties, layout constraints, and variables from the file.

That does not make the generated UI correct by default. It does remove a layer of transcription. I can check the implementation against the same values I used in the design instead of measuring pixels from an image.

Atlassian

The useful part of the Atlassian connection is simple: I do not have to copy a Jira description or Confluence page into every prompt. The agent can read the current ticket and its acceptance criteria.

This only helps when the ticket is accurate. A structured connection to stale requirements still gives stale requirements.

What it costs

MCP is not automatically cheaper than a shell command. Tool names, descriptions, and input schemas all take context. Results also carry fields and metadata that a short text response would not need.

The network path is longer too. A tool call can travel from the model to Cursor, then to a local MCP server, then to GitHub, Figma, or Atlassian, and back again. A slow API or local DNS issue is noticeable because the model waits for the result before continuing.

Permissions need attention as well. I only enable the servers I am using and prefer read-only access when a task does not need to write anything. A convenient tool with broad access is still broad access.

What I kept

I kept the integrations that replace repeated copy-and-paste work:

  • GitHub for PRs, issues, and remote repository state.
  • Figma for layout values and design variables.
  • Atlassian for tickets and documentation.

I did not stop using the terminal, and I do not load every available server into every session. Local search is still faster for many code questions. The useful split is straightforward: use Git for the files on disk, and use MCP when the source of truth is somewhere else.