MCP Servers

A hands-on way to learn the Model Context Protocol

This page covers every MCP server LocalLM Lab has been tested against, how to connect each one, and a couple of example prompts to try once it's connected. All of this happens in the MCP Servers panel, reachable from the menu bar tray icon.

These settings apply to both Prompt Playground and API Lab — a connected server's enabled tools are available to the local model itself, not to either surface individually. If you're building against API Lab's OpenAI-compatible endpoint, any tool you've enabled here (e.g. Todoist's find-tasks-by-date) is available to your own chat client exactly the same way it is in Prompt Playground.

Why this is here

The Model Context Protocol (MCP) is quickly becoming the standard way AI applications connect to real tools and data — the same role API Lab plays for learning the OpenAI API, MCP Servers plays for learning this. Instead of reading about client-server architecture, tool discovery, or OAuth flows in the abstract, you connect to real, production MCP servers (Slack, Linear, GitHub, and others) and watch the actual protocol exchange happen: capability negotiation, tool/resource/prompt discovery, and live tool calls, all running against your own Mac's on-device model.

You don't need to build your own MCP server, pay for API access, or set up a sandbox to start learning this — every server below is a real, publicly reachable one, and connecting to it costs nothing beyond the few minutes of setup each section describes. If you're new to MCP entirely, see Learn more about MCP at the end of this page before diving in.

Servers at a glance

ServerAuth typeWhat it's for
DeepWikiNoneAI-generated documentation/Q&A for any public GitHub repo
Context7NoneUp-to-date library/framework documentation lookup
GitHubPersonal Access TokenIssues, pull requests, repos, commits
NotionOAuth (automatic)Pages, databases, search, comments
TodoistOAuth (automatic)Tasks and projects
LinearOAuth (automatic)Issues, projects, users
SlackOAuth (manual client)Channels, messages, search
MCP reference serverOAuth (automatic)Official spec-conformance test server — exercises tools, resources, and prompts all in one place

"OAuth (automatic)" means: just add the server with auth type None — LocalLM Lab detects the login requirement itself and opens your browser to sign in, no setup on the service's side. "OAuth (manual client)" means the service requires you to register an app with it first (a few extra one-time steps, covered below).

⚠️ Before you start: the context budget is small

The on-device model has a fixed ~4096-token context window, shared across every enabled tool from every connected server. Most of these services expose far more tools than that budget allows — Linear exposes 50+ tools, Todoist exposes 45, and Slack, Notion, and GitHub aren't far behind.

Because of this, a newly connected server starts with every tool unchecked in the MCP Servers panel — nothing is sent to the model until you explicitly enable something. Go to the server's entry after adding it and enable only the one or two tools you actually need for what you're about to ask. Each section below names the exact tool(s) to turn on for its example prompts.

DeepWiki

Auth type: None  ·  Server URL: https://mcp.deepwiki.com/mcp

  1. MCP Servers panel → Add Server.
  2. URL: https://mcp.deepwiki.com/mcp, display name: "DeepWiki", auth type: None.
  3. Click Add. No sign-in required — connects immediately.

DeepWiki only has 3 tools total, so it's fine to enable all of them here if you want to explore — but for the prompts below, read_wiki_structure is the only one actually used.

Try it (enable read_wiki_structure):

What documentation topics are available for the GitHub repo nickclyde/duckduckgo-mcp-server?

Try it (enable ask_question):

What transport protocols does the repo nickclyde/duckduckgo-mcp-server support?

⚠️ Avoid asking for a full documentation summary of a large repo in one go (the read_wiki_contents tool) — that alone can return enough content to exceed the on-device model's context budget. Ask about one section/topic at a time instead.

Context7

Auth type: None  ·  Server URL: https://mcp.context7.com/mcp

  1. MCP Servers panel → Add Server.
  2. URL: https://mcp.context7.com/mcp, display name: "Context7", auth type: None.
  3. Click Add. No sign-in required.

Context7 only has 2 tools (resolve-library-id, query-docs) — both are needed together (the model resolves the library name first, then queries its docs), so enable both.

Try it:

Show me current documentation for the React useEffect hook.
How do I set up middleware in Express?

GitHub

Auth type: Personal Access Token  ·  Server URL: https://api.githubcopilot.com/mcp/

  1. On github.com: Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token.
  2. Scope it to a single repository you control (not all repos), with read-only permissions where possible (Contents, Issues, Pull requests, Metadata).
  3. Set a short expiration — this is easy to regenerate later.
  4. Copy the token.
  5. MCP Servers panel → Add Server → URL https://api.githubcopilot.com/mcp/ → display name "GitHub" → auth type Personal Access Token → paste the token → Add.

GitHub's MCP server exposes a large tool surface across issues, PRs, repos, actions, and more — enable only what each prompt below needs.

Try it (enable get_me):

What's my GitHub username?

Try it (enable list_issues):

List the open issues in <owner>/<repo>.

Notion

Auth type: OAuth (automatic — no setup on Notion's side)  ·  Server URL: https://mcp.notion.com/mcp

  1. MCP Servers panel → Add Server.
  2. URL: https://mcp.notion.com/mcp, display name: "Notion", auth type: None.
  3. Click Add. Your browser opens Notion's sign-in/consent screen automatically — sign in and approve.

Try it (enable notion-search):

Search my Notion workspace for pages about "meeting notes".

⚠️ Notion's full tool list (page/database/comment/view creation and editing tools, alongside search) can exceed the on-device context budget on its own if you enable everything. notion-search and notion-fetch cover most read-only lookups — only enable the write/create/update tools if you specifically need them.

Todoist

Auth type: OAuth (automatic — no setup on Todoist's side)  ·  Server URL: https://ai.todoist.net/mcp

  1. MCP Servers panel → Add Server.
  2. URL: https://ai.todoist.net/mcp, display name: "Todoist", auth type: None.
  3. Click Add. Your browser opens Todoist's sign-in/consent screen automatically.

Todoist's server exposes 45 tools — the largest of any server here besides Linear. Confirmed live: enabling just 4 tools (search, user-info, find-tasks, find-tasks-by-date) already uses ~1,249 tokens — close to a third of the entire budget from a small, reasonable-looking selection. Be deliberate about what you turn on.

Try it (enable find-tasks-by-date):

What tasks do I have due today in Todoist?

(find-tasks-by-date supports startDate='today', which includes overdue items too — exactly this prompt.)

Try it (enable add-tasks, ~612 tokens on its own):

Add a task to buy groceries tomorrow.

Other tools worth knowing about if you explore further: search (~79 tokens, cross-task/project search) and fetch (~88 tokens, full contents of a task/project by ID) cover most other read-only lookups cheaply. Todoist also exposes a todoist-task-list resource (an interactive task list widget — click Resources… next to the User Input box in the Prompt Playground, then Attach) and a productivity-analysis prompt template (click Prompts… to use it).

Linear

Auth type: OAuth (automatic — no setup on Linear's side)  ·  Server URL: https://mcp.linear.app/mcp

  1. MCP Servers panel → Add Server.
  2. URL: https://mcp.linear.app/mcp, display name: "Linear", auth type: None.
  3. Click Add. Your browser opens Linear's sign-in screen (sign in and pick/create a workspace if prompted).

Linear's MCP server exposes over 50 tools (issues, projects, documents, releases, diffs, comments, and more) — this is the one most likely to blow the context budget if you enable more than a couple.

Try it (enable list_users):

List the Linear users.

Try it (enable list_issues):

What issues are assigned to me in Linear?

Slack

Auth type: OAuth (manual client) — Slack requires a one-time app setup, unlike the other OAuth servers above.  ·  Server URL: https://mcp.slack.com/mcp

Slack doesn't support the automatic sign-in flow the other services do, so you'll need to register a small app with Slack first (once — takes about five minutes):

  1. Create a Slack App at api.slack.com/appsFrom scratch, in a workspace you control.
  2. OAuth & Permissions → opt into PKCE (irreversible, but required).
  3. OAuth & PermissionsRedirect URLs → add locallmlab://oauth/callback → Save.
  4. App Home → add a Bot User; OAuth & PermissionsBot Token Scopes → add users:read (the bot itself is never used — Slack just requires one to exist).
  5. OAuth & PermissionsUser Token Scopes → add the scopes you want (e.g. channels:read, chat:write, search:read.public — the full list is at https://mcp.slack.com/.well-known/oauth-protected-resource).
  6. Go to https://api.slack.com/apps/<your app ID>/app-assistant and enable MCP server access — this is a separate toggle, easy to miss.
  7. Reinstall the app to your workspace (Slack prompts for this after any scope/config change).
  8. Copy the Client ID from Basic Information — no secret needed.
  9. In LocalLM Lab: MCP Servers panel → Add Server → URL https://mcp.slack.com/mcp → display name "Slack" → auth type OAuth (manual client) → paste the Client ID → Add. Your browser opens Slack's consent screen — approve it.

If something goes wrong along the way, these are the errors you're most likely to hit and what they mean:

ErrorWhat it meansFix
redirect_uri did not match any configured URIs Redirect URL isn't saved on the Slack app yet. Add locallmlab://oauth/callback under step 3 and save.
could not be installed / Invalid permissions requested / No scopes requested No scopes requested, a requested scope isn't declared on the app, or no Bot User + Bot Token Scope exists. Recheck steps 4-5 — Bot User present, a Bot Token Scope added, and User Token Scopes matching what's requested.
Connection failed (HTTP 400) in LocalLM Lab, with "App is not enabled for Slack MCP server access" Sign-in succeeded, but the app hasn't opted into MCP access itself. Step 6 — the app-assistant page toggle.
A banner asking to "Request to Workspace Install" Your workspace requires admin approval for any new app — unrelated to this app's config. Approve it if you're an admin, or use a personal/test workspace instead.

Slack's MCP server exposes about 19 tools (messaging, search, canvases, reactions, files, and more).

Try it (enable slack_search_channels):

What channels are in my Slack workspace?

Try it (enable slack_search_public or slack_search_public_and_private):

Search Slack for messages about "launch".

MCP reference server

Auth type: OAuth (automatic — no setup needed, same DCR path as Notion/Todoist/Linear)  ·  Server URL: https://example-server.modelcontextprotocol.io/mcp

This is the official MCP spec team's own test server — not a real productivity tool, but useful as a low-risk, low-cost way to see tools, resources, and prompts all working in one place (most other servers here only expose tools, or none of the three at once). Everything on it is safe to poke at; nothing it does affects any real account or data.

  1. MCP Servers panel → Add Server.
  2. URL: https://example-server.modelcontextprotocol.io/mcp, display name: "MCP Test" (or anything), auth type: None.
  3. Click Add. Your browser opens a generic sign-in/consent screen automatically.

It exposes 9 small tools — cheap enough (~606 tokens for 8 of them) that you can safely enable most of them to explore, unlike every other server on this page:

  • echo (~57 tokens) — echoes back the input
  • add (~66 tokens) — adds two numbers
  • longRunningOperation (~104 tokens) — demonstrates a long-running operation with progress updates
  • sampleLLM (~96 tokens) — samples from an LLM using MCP's sampling feature
  • getTinyImage (~40 tokens) — returns a small test image
  • annotatedMessage (~125 tokens) — demonstrates content annotations/metadata
  • getResourceReference (~85 tokens) — returns a resource reference usable by MCP clients
  • elicitInputs (~33 tokens) — demonstrates requesting user input with various field types
  • mcp_apps_hello_world (~31 tokens) — returns an interactive UI that runs in the client (pairs with the "Hello World MCP App" resource below)

Try it (enable add):

Use the add tool to add 47 and 89.

Try it (enable echo):

Echo back "testing the reference server".

Resources (Prompt Playground → Resources…): mostly tiny plaintext/binary test resources ("Resource 1" through "Resource 10", alternating plain text and binary — binary ones are correctly refused with a clear message if you try to attach them, they're not meant to be readable), plus one genuinely large one: "Hello World MCP App" — an embedded interactive HTML/JS mini-app (~113,000 tokens) that's a good way to see the size-guard rejection message in action, since it's far larger than the entire context budget on its own.

Prompts (Prompt Playground → Prompts…):

  • simple_prompt — no arguments, good first thing to try.
  • complex_prompt — takes a required temperature and optional style argument, good for trying the argument fill-in form.
  • resource_prompt — takes a resourceId (1-100) and embeds that resource's content into the resulting prompt.

General troubleshooting

Learn more about MCP

If you're a macOS developer new to MCP, these are good starting points, in roughly the order they're useful:

  1. modelcontextprotocol.io/introduction — a short, plain-language overview of what MCP is and why it exists (the official "USB-C for AI applications" framing).
  2. modelcontextprotocol.io/docs/learn/architecture — the core concepts this whole page builds on: hosts, clients, and servers; the tools/resources/prompts primitives; local (stdio) vs. remote (Streamable HTTP) transports; and a full worked example of the actual JSON-RPC exchange. Reading this alongside actually connecting a server here (Notion or Linear are good first ones — no manual setup needed) is the fastest way to make it click.
  3. modelcontextprotocol.io/specification/latest — the formal protocol specification, for when you want the exact wire-level detail behind something you've observed (e.g. what LocalLM Lab's context-budget warnings are protecting against, or exactly what a tools/list response is required to contain).
  4. github.com/modelcontextprotocol/servers — reference server implementations, including the source for the MCP reference server used above.
  5. github.com/modelcontextprotocol/inspector — the official MCP Inspector, a standalone tool for poking at a server's raw tools/list/resources/list/prompts/list responses directly, useful once you want to see the exact protocol traffic LocalLM Lab is making on your behalf.

Every server on this page is a real one you can point either LocalLM Lab or the Inspector at — there's no toy/sandboxed version of MCP here, which is the point.

Contact

Questions about a specific server, or run into something this page doesn't cover? Contact neuron@thisbrain.ai or join our Discord.