MCP Examples From Real Workflows

Nine Model Context Protocol workflows built on real, documented servers: GitHub, Sentry, Playwright, a filesystem, a database, Linear, Notion and a task board. Each with the host, the server, the prompt, and what a person checks afterwards.

7 min read

The Model Context Protocol earns its keep in small, specific jobs: an assistant reads your error tracker, opens the failing page in a browser, queries a development database, or files what it found on a board. Below are nine workflows built on servers whose makers document them today. Each one names four things: the host (the app you type into), the server, a prompt you could paste, and what a person checks before trusting the result. That last line matters most. An MCP workflow is only as good as the evidence it leaves behind.

If the words host, client and server are new, MCP for beginners connects a first server in ten minutes, and tools, resources and prompts explains what a server can offer. The idea itself is in what MCP is. The official example servers page (opens in a new tab) lists the protocol’s own reference servers, such as Filesystem, Git and Fetch, and points to the servers companies maintain for their own products, which is where most of these come from.

Coding and debugging

1. Review queue from GitHub, in VS Code

  • Host: VS Code with Copilot, in a Local session with Agent selected, because Copilot sessions can currently use only local MCP servers that need no sign-in. Server: GitHub’s MCP server (opens in a new tab), hosted at https://api.githubcopilot.com/mcp/, with an OAuth sign-in.
  • Prompt: “List the open pull requests in this repository that are waiting for my review, oldest first. For each, give the title, the author, what it changes in one line, and whether its checks pass.”
  • Check: open two of the pull requests from the links it gives and compare its one-liners with the diffs. The server groups its tools into toolsets such as repos, issues, pull_requests and actions, and has a read-only mode that skips write tools, so a first week of summaries needs nothing more.
.vscode/mcp.json
{
  "servers": {
    "github": { "type": "http", "url": "https://api.githubcopilot.com/mcp/" }
  }
}

2. The noisiest error, from Sentry, in Cursor

  • Host: Cursor’s agent. Server: Sentry’s MCP server (opens in a new tab) at https://mcp.sentry.dev/mcp, which signs in with OAuth and can be scoped to one organisation and project.
  • Prompt: “Find the unresolved issue with the most events in the checkout project this week. Show me the stack trace, the release it started in, and the file you think is at fault. Do not change code yet.”
  • Check: open the issue in Sentry and confirm it is the one you would have picked. When you then ask for a fix, read the diff and run the test that covers it. The server groups its tools into skills, and Sentry’s Seer analysis is one that can be switched on or off.

3. Reproduce a bug in a real browser, in Claude Code

  • Host: Claude Code. Server: Playwright MCP (opens in a new tab), a local server that drives a browser through its accessibility tree rather than screenshots. Microsoft now recommends playwright-cli with skills for coding agents such as Claude Code and keeps MCP for longer exploratory loops; the trade-off is in Playwright MCP.
  • Prompt: “Open http://localhost:3000/signup, submit the form with an empty email, and tell me what the page says, what the console logged and which network request failed.”
  • Check: repeat the steps by hand once. The tools it should call are browser_navigate, browser_snapshot, browser_console_messages and browser_network_requests; if it reports an error without having called the last two, ask again.
Terminal
claude mcp add playwright -- npx @playwright/mcp@latest

Data and documents

4. Decisions from a folder of notes, in Claude Desktop

  • Host: Claude Desktop. Server: the reference Filesystem server, started with npx -y @modelcontextprotocol/server-filesystem and the folders it may open.
  • Prompt: “Read every Markdown file in Notes/2026-Q3 and list each decision recorded there, with the file name and the date. Do not edit anything.”
  • Check: open two of the files it cites. The server only reaches the directories you list, and its edit_file tool has a dryRun option, so when you do want changes, ask for a dry run and read the diff first.

5. A data question against a development database

  • Host: Claude Code or Cursor. Server: Supabase’s MCP server (opens in a new tab) at https://mcp.supabase.com/mcp, with project_ref set to one project and read_only=true.
  • Prompt: “How many sign-ups did we get last week by referral source? Show me the SQL you ran.”
  • Check: run the SQL yourself and compare. The tools are list_tables and execute_sql; read-only mode keeps queries to reads. Supabase’s own advice is to point it at a development branch rather than production and to treat data in the rows as untrusted, because a customer can type instructions into a support ticket.

6. A spec page from merged work, in ChatGPT

  • Host: ChatGPT with Notion’s MCP server added in developer mode, where your plan allows it. Server: https://mcp.notion.com/mcp, signed in with OAuth.
  • Prompt: “Here are this sprint’s merged pull request titles. Create a page under Engineering, Release notes, grouped into fixes and improvements, in plain language for customers.”
  • Check: ChatGPT stops before the write and shows the tool input; read it before approving. Then open the page. Notion MCP with ChatGPT covers the setup and which plans allow writes.

Planning and tracking

7. Meeting notes into issues, in Claude

  • Host: Claude on the web or desktop. Server: Linear’s hosted server at https://mcp.linear.app/mcp. Linear’s MCP documentation (opens in a new tab) also offers https://mcp.linear.app/mcp/readonly for a connection that cannot write.
  • Prompt: “From these notes, list every action with an owner. Show me the list first. When I say go, create one issue per action in the Platform team, and give me each identifier.”
  • Check: correct the list before you say go, then open each identifier it returns. Starting on the read-only endpoint while you learn how it reads your projects costs nothing.

8. Take the next approved task, in Codex CLI

  • Host: Codex CLI. Server: the fenbs board at https://fenbs.ai/api/mcp, added with codex mcp add fenbs --url https://fenbs.ai/api/mcp and signed in with codex mcp login fenbs.
  • Prompt: “Call fenbs_next_approved_task. Follow its plan and limits, record how you tested it, and if you cannot finish, give it back with fenbs_release_task and say why.”
  • Check: open the task. The assistant records how the work was tested, and anything only a person can confirm, such as a real payment, is marked for the owner to check. History lists each change under the assistant’s name. Codex CLI and a task board has the full setup.

9. Errors into bugs, across three servers

  • Host: Claude Code with Sentry, GitHub and fenbs connected at once. This is where MCP differs most from a single integration: one assistant, one conversation, three systems.
  • Prompt: “For each new Sentry issue in the checkout project this week, find the last commit that touched the file in the stack trace, then search the board and file a bug with the Sentry link and the commit, unless one is already there.”
  • Check: the To Do lane. fenbs_create_item holds back and shows the likely match when a task looks like one already open, so duplicates surface instead of piling up. Read each new bug’s note for the two links.

What the nine have in common

  • They start read-only. GitHub’s read-only mode, Linear’s read-only endpoint, Supabase’s read_only=true and a board token with only the read scope all let you see how an assistant behaves before it can change anything.
  • They ask for evidence. Links, identifiers, the SQL it ran, the tool it called. A claim you cannot click through to is a claim you cannot check.
  • They split thinking from doing. “Show me the list first” and “do not change code yet” turn one risky step into a draft you correct and a write you approve.
  • They keep writes behind a prompt. Every host above can ask before a tool changes something. Leave that on until the workflow has earned your trust, one server at a time.

Most of these servers act as the person who signed in, so the tool you connect cannot tell your edits from the assistant’s. On a fenbs board, a connected assistant holds your role narrowed by the scopes you tick, and each change it makes shows in History with its name, such as “Claude via Sam”. That is what makes examples 8 and 9 reviewable at the end of the day.

Related

Cards worth handing to an assistant: AI agent task examples. Before connecting more servers: MCP security best practices. Connecting a board: the MCP docs and the AI assistant work log template.

Questions people ask.

What is a simple example of the Model Context Protocol?

An assistant such as Claude Code connected to Playwright’s MCP server, asked to open a page on your local site, submit a form and report the console errors. The assistant picks the browser tools, the server runs them, and you repeat the steps once by hand to check.

Which MCP servers are official?

The MCP project maintains a small set of reference servers, including Filesystem, Git, Fetch and Memory. Most production servers are run by the companies behind the product, such as GitHub, Sentry, Linear, Notion and Supabase, and documented on their own sites.

Can one assistant use several MCP servers at once?

Yes. A host opens one client per server, so Claude Code, Cursor, VS Code and others can have an error tracker, a code host and a task board connected in the same conversation. Add them one at a time and give each only the access the job needs.

Should an assistant connect to a production database over MCP?

Start with a development copy and a read-only setting. Supabase, for example, recommends development branches over production and a read-only mode for unattended work, and warns that data in rows can carry instructions aimed at the model.

Start with one thing.

There is nothing to set up first. Write one line and you’ve started.