Official Servers

You do not have to invent every capability on day one. The ecosystem ships reference servers and vendor integrations. Treat Example Servers and the servers repository as the index; package names move, so read that server’s own README first.


Ground rules

  • Install only from sources you trust (the official org, the SaaS vendor you already use, an internal repo you reviewed)
  • Use least-privilege tokens in environment variables—never in committed JSON / TOML
  • npx -y downloads and runs someone else’s program on your machine
  • Narrow the filesystem root; do not give GitHub or browser servers production write access by default

Directories: the official examples page, the Official / Community sections of modelcontextprotocol/servers, and each host’s MCP marketplace (whatever the product UI calls it). Check the publisher, stars, and recent commits—not just a familiar name.


Filesystem (local files)

Reference package: @modelcontextprotocol/server-filesystem. You must pass an allowed root. Do not point it at your entire home directory.

PowerShell:

npx -y @modelcontextprotocol/server-filesystem "D:\Coding\TutorProjects\kenhuang-tutor\docs"

Unix:

npx -y @modelcontextprotocol/server-filesystem "$HOME/projects/allowed"

Cursor / Claude Code snippet:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "D:\\Coding\\allowed-notes"
      ]
    }
  }
}

Good: the agent reads a document tree you chose. Bad: handing it secret folders, .ssh, or all of C:\.


GitHub

Older snippets use @modelcontextprotocol/server-github with a personal access token for issues and PRs. GitHub also maintains its own remote / container server—follow the current github/github-mcp-server README.

Token warnings:

  • Prefer a fine-grained token or the narrowest scopes you can (read-only contents / issues is often enough)
  • Set an expiry; revoke immediately if it leaks
  • Inject via the environment; never commit ghp_...
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
      }
    }
  }
}

PowerShell (session only—do not commit this):

$env:GITHUB_PERSONAL_ACCESS_TOKEN = "ghp_your_token_here"
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_your_token_here"

Hosts expand ${VAR} differently: some read the process environment, some want the name pasted in a UI. Follow that product’s docs.


Fetch and Playwright

Fetch is an official reference server: it pulls a page and converts it into text a model can read. Good for a public article. Not for a logged-in bank page or an intranet you were not asked to touch.

npx -y @modelcontextprotocol/server-fetch

Playwright (or a similar browser MCP such as @playwright/mcp) lets the model drive a real browser. That is powerful and risky—it is “operate my browser” as a tool.

Guidelines:

  • Only sites you own or are explicitly allowed to test
  • Approve navigation and typing by default
  • Do not enable it on a profile that is already logged into production unless you understand how cookies will be used

Startup flags change; the repo README wins.


Other common references

ServerRole
MemorySmall knowledge-graph memory
GitRead / search a local repo
TimeTimezone conversion
EverythingOfficial kitchen-sink server for all three primitives

Python reference servers often use uvx:

uvx mcp-server-git --repository "D:\Coding\TutorProjects\kenhuang-tutor"
uvx mcp-server-git --repository "$HOME/code/my-repo"

When to write your own

NeedPrefer
Read one folderOfficial filesystem, narrow root
Internal company APIYour Python server; token in the environment
Vendor already ships MCPOfficial integration; still review OAuth scopes
Learning the protocolKeep this course’s add / notes server; skip GitHub at first

Next

评论