Learning path map
๐ What MCP Servers Are
The protocol that connects everything
๐ Your First MCPs
Filesystem, Git, SQLite
๐ Productivity MCPs
Slack, Calendar, Gmail, Notion
๐๏ธ Database and API MCPs
Postgres, Redis, REST, GraphQL
๐ ๏ธ Creating Your Own MCP
TypeScript SDK, tools, handlers
๐ Ecosystem and Marketplace
Awesome MCP, Smithery, future
Detailed content
๐ What MCP Servers Are
The MCP protocol explained from scratch: architecture, schemas, and why it changes everything.
MCP (Model Context Protocol) is the open protocol that connects LLMs to external tools via JSON-RPC.
It's the standard Claude Code uses for all external integrations.
JSON-RPC, stdio/SSE transport, capabilities handshake.
Claude Code is the client; each MCP is a server that exposes tools via a schema.
Understanding the separation helps you debug and choose MCPs.
Client, server, transport layer, lifecycle.
Each server declares its tools with an inputSchema in JSON Schema; the client lists and invokes them.
It's the mechanism that lets the agent use tools without hardcoding them.
tools/list, tools/call, inputSchema, JSON Schema.
MCP turns the agent from a "file reader" into a "systems operator."
Without MCP, the agent only reads/writes files; with MCP, it operates DBs, APIs, services.
Extensibility, composition, standardization.
There are already 200+ open-source MCP servers covering databases, SaaS, DevOps, and more.
Knowing what exists keeps you from reinventing the wheel.
Awesome MCP, Smithery, server categories.
MCP is like a REST API, but optimized for agents: declarative schema, automatic discovery.
The analogy makes it easier to understand the mental model if you've used APIs before.
REST endpoints vs. MCP tools; OpenAPI vs. inputSchema.
๐ Your First MCPs
Hands-on: configure Filesystem, Git, and SQLite in Claude Code.
The .claude/settings.json file where you declare each MCP server.
Without this, no MCP works; itโs the first practical step.
mcpServers, command, args, env.
Server that exposes filesystem operations as MCP tools.
It's the most basic MCP and perfectly illustrates the pattern.
read_file, write_file, list_directory, sandboxing.
MCP server for Git operations: status, diff, commit, branch.
Allows the agent to version-control code without your manual intervention.
git_status, git_commit, git_diff, permissions.
Server that gives the agent SQL access to SQLite databases.
Shows how MCPs can provide access to structured data.
query, execute, schema inspection, read-only mode.
How to check whether the MCP is connected and its tools appear in the agent.
Without testing, you donโt know whether the config is correct.
/mcp, tool listing, manual invocation, logs.
Diagnose common errors: server won't start, timeout, permission denied.
90% of MCP problems are configuration issues; knowing how to debug them saves hours.
stderr logs, npx vs global install, PATH, env vars.
๐ Productivity MCPs
Connect Slack, Calendar, Gmail, and Notion to your agent.
MCP that connects the agent to Slack channels and DMs.
Communication automation: summarize threads, reply, notify.
OAuth token, channels, send_message, read_channel.
MCP for creating/listing/editing events in Google Calendar.
The agent can check availability and schedule meetings for you.
Service account, scopes, list_events, create_event.
MCP that lets you read, search, and send emails through Gmail.
Automated triage, quick responses, search through history.
Gmail API, search_emails, send_email, drafts.
MCPs for project management: create pages, update issues, search docs.
The agent can create/update tasks and documentation automatically.
Notion API key, Linear API, create_page, create_issue.
Run 3-5 MCPs simultaneously and let the agent orchestrate between them.
Composition is where MCP shines: cross-tool workflows without code.
Multi-server config, tool routing, context budget.
Practical recipes: automatic daily standup, email triage, calendar briefing.
Move beyond theory and get automations working in your day-to-day life.
Scheduled prompts, multi-MCP chains, output routing.
๐๏ธ Database and API MCPs
PostgreSQL, Redis, REST, and GraphQL directly in the agent.
MCP that connects the agent to a PostgreSQL database for queries and mutations.
The agent can analyze data, generate reports, and debug schemas.
Connection string, read-only vs. read-write, query tool.
MCP for Redis operations: get/set, inspect keys, pub/sub.
Debugging caches, checking queues, monitoring state in real time.
Redis URL, GET/SET, KEYS, TTL inspection.
Generic MCP for calling REST endpoints with customizable headers and body.
Connects the agent to any service with a REST API.
Base URL, auth headers, request/response mapping.
MCP for running GraphQL queries and mutations against any endpoint.
If your API is GraphQL, this MCP gives the agent full access.
Schema introspection, query/mutation, variables.
Patterns for connecting MCPs to real services (not just local dev).
The real value emerges when the agent operates in staging/prod environments.
SSH tunnels, env configs, connection pools.
Best practices for managing tokens, passwords, and connection strings with MCPs.
MCPs with access to DBs/APIs need credentials; a leak = disaster.
Env vars, .env files, gitignore, secret managers.
๐ ๏ธ Creating Your Own MCP Server
From zero to deploy: anatomy, TypeScript SDK, tools, handlers, and distribution.
An MCP server is a process that speaks JSON-RPC over stdio and exposes tools.
Understanding the anatomy is a prerequisite to creating your own.
Process, stdin/stdout, initialize, tools/list handler.
The @modelcontextprotocol/sdk package that abstracts the protocol for you.
With the SDK, you can create a working server in 30 lines.
McpServer class, StdioServerTransport, tool(), resource().
Each tool has a name, description, and an inputSchema (JSON Schema) that the agent uses.
A well-designed schema = the agent gets the parameters right the first time.
name, description, inputSchema, required fields, types.
The function that receives the agent's args, performs the action, and returns the result.
It's where the actual logic lives; the handler is the tool's "body."
CallToolResult, content array, text/image responses, error handling.
Test the MCP server locally with MCP Inspector and Claude Code.
A server without tests breaks silently; the inspector makes things much easier.
MCP Inspector, manual JSON-RPC, integration tests.
How to package and publish your MCP server (npm, Docker, Smithery).
Sharing with your team or community multiplies the impact.
npm publish, npx entry point, Docker image, Smithery listing.
๐ Ecosystem and Marketplace
Where to find, evaluate, and combine quality MCP servers.
The awesome-mcp-servers repository on GitHub: the community-curated list.
A starting point for discovering high-quality, ready-to-use MCPs.
Categories, stars, active maintenance, official vs. community.
Smithery.ai: the npm/marketplace for MCP servers with one-click installation.
Installing MCPs via Smithery is faster than configuring them manually.
smithery install, verified servers, usage stats.
Criteria for evaluating whether an MCP server is trustworthy before using it.
A bad MCP can freeze, leak data, or give incorrect answers.
Recent commits, open issues, documentation, tests, license.
Patterns for combining 3-8 MCPs in a cohesive, productive setup.
The power of MCP lies in composition, not in isolated servers.
Tool budget, naming conflicts, priority routing.
Risks of malicious MCPs and how to protect yourself (sandbox, audit, least privilege).
An MCP runs code on your machine; trusting it blindly is dangerous.
Code review, pinned versions, sandboxing, permission scopes.
Trends: remote servers, federated auth, streaming, multimodal tools.
Knowing the direction helps you invest in what will last.
Remote MCP, OAuth2, Streamable HTTP, tool composability.