SDKs, Frameworks & Official Reference Servers for Building with MCP
When you want to expose internal tools or APIs to Claude, Cursor, or another MCP client, you have two choices: write a purpose-built MCP server using an SDK, or wrap an existing REST/GraphQL API so its routes become MCP tools automatically.
For custom Python servers, FastMCP and the official MCP Python SDK are the two main starting points. If you already run FastAPI or federated GraphQL, FastAPI-MCP and Grafbase can expose those APIs directly—while official servers from GitHub and AWS cover common engineering and cloud workflows without writing your own.
AgentIndex · Updated 2026-10-19
Run an official vendor server, wrap an existing API, or write custom tools with an SDK.
Quick picks
- fastmcp — Apache-2.0 Pythonic framework by Prefect that generates MCP tool schemas and validation from type hints and docstrings.
- python-sdk — MIT-licensed official reference Python SDK for MCP servers and clients across stdio, SSE, and Streamable HTTP.
- fastapi_mcp — MIT-licensed adapter that turns existing FastAPI routes into MCP tools while reusing FastAPI auth dependencies.
- grafbase — Rust-powered Apollo Federation v2 GraphQL gateway with built-in support for exposing your federated graph as an MCP server.
- GitHub MCP Server — GitHub's official MIT-licensed MCP server for repositories, issues, PRs, Actions, and security alerts.
- mcp — AWS Labs' official Apache-2.0 suite of MCP servers for AWS documentation, CDK/Terraform, containers, and cost analysis.
Side-by-side comparison
| Tool | What it is | Stars | License | Last push | Maintenance | Releases, 90 days | Commits, 12 weeks | Install |
|---|---|---|---|---|---|---|---|---|
| fastmcp | Fast Python framework for building MCP servers and clients | 28.2k | Apache-2.0 | 2026-10-22 | Active | 27 | uv add fastmcp | |
| python-sdk | Official Python SDK for MCP servers and clients | 24.6k | MIT | 2026-10-17 | Active | 10 | uv add "mcp[cli]" | |
| fastapi_mcp | Expose FastAPI endpoints as MCP tools, with auth | 12.0k | MIT | 2025-11-24 | Stale | 0 | uv add fastapi-mcp | |
| grafbase | Rust-powered Apollo Federation v2 GraphQL gateway with WebAssembly extensions and built-in MCP server support | 1.2k | MPL-2.0 | 2026-07-01 | Slowing | 0 | curl -fsSL https://grafbase.com/downloads/gateway | bash | |
| GitHub MCP Server | GitHub's official MCP server for repos, issues and PRs | 33.8k | MIT | 2026-10-21 | Active | 14 | docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-… | |
| mcp | AWS's official suite of MCP servers for docs, infrastructure, data and cost tools | 9.8k | n/a | 2026-10-22 | Active | 17 | uvx awslabs.aws-documentation-mcp-server@latest |
Tools in this list with an in-depth AgentIndex review: 6/6
How to choose
- Prefer designing a small number of task-oriented MCP tools over blindly exposing hundreds of raw REST endpoints, which bloats model context.
- If you write Python from scratch, choose between FastMCP's concise decorator ergonomics and the official MCP Python SDK's canonical protocol primitives.
- Check transport support: stdio is standard for local desktop clients, while Streamable HTTP is preferred for remote and multi-user deployments.
- Always scope permissions (such as `--read-only` or filtered toolsets) before connecting an agent to production APIs.
FAQ
Should I use FastMCP or the official MCP Python SDK?
Both are widely used open-source libraries. FastMCP (Apache-2.0, by Prefect) reduces boilerplate and adds higher-level conveniences for composing servers, clients, and apps. The official MCP Python SDK (MIT) is the reference implementation from the protocol maintainers if you want minimal abstraction over the spec.
Is it a good idea to expose all my FastAPI or GraphQL endpoints as MCP tools?
Usually no. Exposing dozens of granular CRUD endpoints consumes context tokens and increases the risk of unintended write operations. Filter which routes or operations are exposed, keep destructive endpoints disabled by default, and write clear descriptions for the tools that remain.
How we compiled this list
Tools are chosen by hand from the projects in our index, favouring those we have reviewed in depth. Stars, licence, last-push date and install command come from each repository and are refreshed with the site data. The maintenance column comes from the GitHub API (archived flag, last commit, releases in the last 90 days) and is refreshed daily. We read each project's README and docs; we have not run every tool ourselves, so test before you depend on one.
More lists
- Open-Source Multi-Agent Frameworks: CrewAI, Pydantic AI, Google ADK, Microsoft Agent Framework & More
- Self-Hosted AI Workflow Automation & Durable Execution: n8n, Activepieces, Temporal, Conductor & More
- Open-Source RAG Platforms & Deep Research Agents: RAGFlow, MaxKB, GPT Researcher, DeerFlow & More
- Best MCP Servers for Databases
- Best MCP Servers for Browser Automation
- MCP Gateways and Proxies Compared