What are MCP servers?
If MCP is the standard plug, a server is the appliance you plug in. Here are the kinds worth knowing, with real examples and a hands-on exercise.
The protocol versus the servers
MCP is the standard; an MCP server is a thing you connect through it. The protocol defines how an AI app and a server talk; each server exposes one specific capability, your files, a database, a GitHub repo, the live web, and offers it to the model. You learn the protocol once in What is MCP. This lesson is about the servers you actually plug in, because that is where MCP stops being abstract.
What a server hands the model
A server gives the model a small set of named tools, and sometimes data resources, that it can call through tool calling. A filesystem server offers tools like “read file,” “write file,” and “list directory.” A Postgres server offers “run query.” The model decides when to call a tool; your client runs the call and feeds the result back. Connect three servers and the model can suddenly read your code, query your database, and search the web, all in one conversation.
The categories worth knowing
The community directory, awesome-mcp-servers, catalogues thousands of servers across roughly 45 categories. A handful cover most real-world use:
- File systems (
filesystem): read, write, and move local files. The first server most people connect. - Version control and dev tools (
git,github): branches and commits locally; issues and pull requests on GitHub. - Databases (
postgres,sqlite): run real queries, read-only or read-write, against your data. - Browser automation (
playwright,puppeteer): drive a real browser to click, fill forms, and scrape pages. - Search and fetch (
brave-search,fetch): search the live web and read pages, which gets the model past its training cutoff. - Communication (
slack): read and post messages, manage channels. - Knowledge and memory (
memory): a store the model can write to and recall across sessions, a simple form of agent memory. - Cloud and monitoring: connect to AWS, GCP, Sentry, and similar, so the model can read logs and resources.
How to read the list
Each entry on awesome-mcp-servers is tagged so you can pick well. The emoji legend marks the language it is written in (Python, TypeScript, Go, Rust, and others), the scope, a local service that runs on your machine or a cloud service that runs remotely, and the supported operating systems. The local-versus-cloud mark is the one to read first, and not only for convenience.
Local versus cloud, and the trust line
A local server runs on your computer and can touch your real files, environment variables, and credentials. That is exactly what makes it useful, and exactly why you should only run servers you trust and have looked at. Treat adding an MCP server like installing a browser extension with full access: convenient, powerful, and worth a moment of caution. Cloud servers move that trust to a third party instead. The security note in the MCP explainer goes deeper.
Connecting one
Connecting a server is usually a small block of JSON in your client’s config file (for Claude Desktop, that is
claude_desktop_config.json): the command to start the server, its arguments, and any keys it needs.
Build a valid one, or paste an existing block to validate it, with the
MCP Config Generator. Restart the client, and the server’s tools show up
ready for the model to call.
Where to go next
- What is MCP, the protocol underneath all of this.
- MCP Config Generator, build the config to connect a server.
- awesome-mcp-servers, the curated directory to browse thousands more.