This repository contains the documentation for the Model Context Protocol (MCP) Python SDK. It is built using Sphinx and the Read the Docs theme.
The Model Context Protocol (MCP) is an open standard that defines how applications interact with large language models (LLMs). This documentation aims to help developers:
- Understand the core concepts of MCP
- Build MCP servers to expose resources, tools, and prompts
- Create MCP clients to connect to MCP servers
- Explore advanced topics and best practices
Our documentation includes comprehensive coverage of FastMCP, a high-level, Pythonic interface for building MCP servers. Originally a standalone project, FastMCP has been integrated into the official MCP Python SDK. It provides a developer-friendly way to create MCP servers with minimal boilerplate:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Demo 🚀")
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
The SDK provides multiple ways to run your server:
- Development mode with the MCP Inspector
- Claude Desktop integration
- Direct execution for custom deployments
-
Install Dependencies
First, make sure you have Python installed. Then, install the required packages:
# Using conda (recommended) conda activate cuda_test pip install -r requirements.txt # Or using pip in a virtual environment python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Build the Documentation
To build the documentation:
make html
The built documentation will be in the
_build/html/
directory. -
Live Preview
For a live preview with auto-reload:
sphinx-autobuild . _build/html
Then open your browser to http://localhost:8000.
You can host this documentation on GitHub Pages by following these steps:
-
Create a GitHub Repository
# Initialize a local repository if you haven't already git init git add . git commit -m "Initial commit with MCP documentation" # Create a repository on GitHub through the web interface # Then add the remote and push git remote add origin https://github.com/yourusername/mcp_docs.git git push -u origin main
-
Set Up GitHub Pages
There are two ways to set up GitHub Pages for your documentation:
The repository already includes a GitHub Actions workflow at
.github/workflows/docs.yml
that will automatically build and deploy the documentation to GitHub Pages whenever you push to the main branch.- Go to your GitHub repository
- Navigate to "Settings" > "Pages"
- Under "Source", select "GitHub Actions"
- Make sure the "GitHub Actions" workflow is running after your first push
If you prefer to manage the deployment manually:
# Create an orphan gh-pages branch git checkout --orphan gh-pages git rm -rf . touch .nojekyll git add .nojekyll git commit -m "Initial gh-pages commit" git push origin gh-pages git checkout main # Build and copy the documentation to gh-pages make html git checkout gh-pages cp -r _build/html/* . git add . git commit -m "Update documentation" git push origin gh-pages git checkout main
Then go to your GitHub repository's Settings > Pages and select the gh-pages branch as the source.
-
Access Your Documentation
Your documentation will be available at:
https://yourusername.github.io/mcp_docs/
-
Update the Documentation
Whenever you want to update the documentation:
# If using GitHub Actions # Just push your changes to the main branch git add . git commit -m "Update documentation" git push origin main # If using manual gh-pages setup make html git checkout gh-pages cp -r _build/html/* . git add . git commit -m "Update documentation" git push origin gh-pages git checkout main
index.rst
: Main entry pointintroduction.rst
: Introduction to MCPgetting-started.rst
: Getting started guideserver-guide.rst
: Guide for building MCP serversclient-guide.rst
: Guide for building MCP clientsexamples.rst
: Example MCP applicationsadvanced-topics.rst
: Advanced MCP conceptsapi-reference.rst
: API reference
Contributions to improve the documentation are welcome! Here's how you can contribute:
- Fork the repository
- Create a new branch for your changes
- Make your changes
- Build the documentation to verify your changes
- Submit a pull request
- Official MCP Website
- MCP Python SDK GitHub
- MCP Specification
- Officially Supported Servers
- GitHub Discussions
- FastMCP GitHub (Legacy)
This documentation is licensed under the MIT License - see the LICENSE file for details.