Add documentation structure (#1425)
This commit is contained in:
parent
3e798bfc01
commit
89619a8604
6 changed files with 115 additions and 4 deletions
5
docs/authorization.md
Normal file
5
docs/authorization.md
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Authorization
|
||||||
|
|
||||||
|
!!! warning "Under Construction"
|
||||||
|
|
||||||
|
This page is currently being written. Check back soon for complete documentation.
|
||||||
13
docs/concepts.md
Normal file
13
docs/concepts.md
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Concepts
|
||||||
|
|
||||||
|
!!! warning "Under Construction"
|
||||||
|
|
||||||
|
This page is currently being written. Check back soon for complete documentation.
|
||||||
|
|
||||||
|
<!--
|
||||||
|
- Server vs Client
|
||||||
|
- Three primitives (tools, resources, prompts)
|
||||||
|
- Transports (stdio, SSE, streamable HTTP)
|
||||||
|
- Context and sessions
|
||||||
|
- Lifecycle and state
|
||||||
|
-->
|
||||||
|
|
@ -1,5 +1,57 @@
|
||||||
# MCP Server
|
# MCP Python SDK
|
||||||
|
|
||||||
This is the MCP Server implementation in Python.
|
The **Model Context Protocol (MCP)** allows applications to provide context for LLMs in a standardized way, separating the concerns of providing context from the actual LLM interaction.
|
||||||
|
|
||||||
It only contains the [API Reference](api.md) for the time being.
|
This Python SDK implements the full MCP specification, making it easy to:
|
||||||
|
|
||||||
|
- **Build MCP servers** that expose resources, prompts, and tools
|
||||||
|
- **Create MCP clients** that can connect to any MCP server
|
||||||
|
- **Use standard transports** like stdio, SSE, and Streamable HTTP
|
||||||
|
|
||||||
|
If you want to read more about the specification, please visit the [MCP documentation](https://modelcontextprotocol.io).
|
||||||
|
|
||||||
|
## Quick Example
|
||||||
|
|
||||||
|
Here's a simple MCP server that exposes a tool, resource, and prompt:
|
||||||
|
|
||||||
|
```python title="server.py"
|
||||||
|
from mcp.server.fastmcp import FastMCP
|
||||||
|
|
||||||
|
mcp = FastMCP("Test Server")
|
||||||
|
|
||||||
|
|
||||||
|
@mcp.tool()
|
||||||
|
def add(a: int, b: int) -> int:
|
||||||
|
"""Add two numbers"""
|
||||||
|
return a + b
|
||||||
|
|
||||||
|
|
||||||
|
@mcp.resource("greeting://{name}")
|
||||||
|
def get_greeting(name: str) -> str:
|
||||||
|
"""Get a personalized greeting"""
|
||||||
|
return f"Hello, {name}!"
|
||||||
|
|
||||||
|
|
||||||
|
@mcp.prompt()
|
||||||
|
def greet_user(name: str, style: str = "friendly") -> str:
|
||||||
|
"""Generate a greeting prompt"""
|
||||||
|
return f"Write a {style} greeting for someone named {name}."
|
||||||
|
```
|
||||||
|
|
||||||
|
Test it with the [MCP Inspector](https://github.com/modelcontextprotocol/inspector):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv run mcp dev server.py
|
||||||
|
```
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
<!-- TODO(Marcelo): automatically generate the follow references with a header on each of those files. -->
|
||||||
|
1. **[Install](installation.md)** the MCP SDK
|
||||||
|
2. **[Learn concepts](concepts.md)** - understand the three primitives and architecture
|
||||||
|
3. **[Explore authorization](authorization.md)** - add security to your servers
|
||||||
|
4. **[Use low-level APIs](low-level-server.md)** - for advanced customization
|
||||||
|
|
||||||
|
## API Reference
|
||||||
|
|
||||||
|
Full API documentation is available in the [API Reference](api.md).
|
||||||
|
|
|
||||||
31
docs/installation.md
Normal file
31
docs/installation.md
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Installation
|
||||||
|
|
||||||
|
The Python SDK is available on PyPI as [`mcp`](https://pypi.org/project/mcp/) so installation is as simple as:
|
||||||
|
|
||||||
|
=== "pip"
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install mcp
|
||||||
|
```
|
||||||
|
=== "uv"
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv add mcp
|
||||||
|
```
|
||||||
|
|
||||||
|
The following dependencies are automatically installed:
|
||||||
|
|
||||||
|
- [`httpx`](https://pypi.org/project/httpx/): HTTP client to handle HTTP Streamable and SSE transports.
|
||||||
|
- [`httpx-sse`](https://pypi.org/project/httpx-sse/): HTTP client to handle SSE transport.
|
||||||
|
- [`pydantic`](https://pypi.org/project/pydantic/): Types, JSON schema generation, data validation, and [more](https://docs.pydantic.dev/latest/).
|
||||||
|
- [`starlette`](https://pypi.org/project/starlette/): Web framework used to build the HTTP transport endpoints.
|
||||||
|
- [`python-multipart`](https://pypi.org/project/python-multipart/): Handle HTTP body parsing.
|
||||||
|
- [`sse-starlette`](https://pypi.org/project/sse-starlette/): Server-Sent Events for Starlette, used to build the SSE transport endpoint.
|
||||||
|
- [`pydantic-settings`](https://pypi.org/project/pydantic-settings/): Settings management used in FastMCP.
|
||||||
|
- [`uvicorn`](https://pypi.org/project/uvicorn/): ASGI server used to run the HTTP transport endpoints.
|
||||||
|
- [`jsonschema`](https://pypi.org/project/jsonschema/): JSON schema validation.
|
||||||
|
- [`pywin32`](https://pypi.org/project/pywin32/): Windows specific dependencies for the CLI tools.
|
||||||
|
|
||||||
|
This package has the following optional groups:
|
||||||
|
|
||||||
|
- `cli`: Installs `typer` and `python-dotenv` for the MCP CLI tools.
|
||||||
5
docs/low-level-server.md
Normal file
5
docs/low-level-server.md
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Low-Level Server
|
||||||
|
|
||||||
|
!!! warning "Under Construction"
|
||||||
|
|
||||||
|
This page is currently being written. Check back soon for complete documentation.
|
||||||
|
|
@ -11,7 +11,12 @@ site_url: https://modelcontextprotocol.github.io/python-sdk
|
||||||
# copyright: © Model Context Protocol 2025 to present
|
# copyright: © Model Context Protocol 2025 to present
|
||||||
|
|
||||||
nav:
|
nav:
|
||||||
- Home: index.md
|
- Introduction: index.md
|
||||||
|
- Installation: installation.md
|
||||||
|
- Documentation:
|
||||||
|
- Concepts: concepts.md
|
||||||
|
- Low-Level Server: low-level-server.md
|
||||||
|
- Authorization: authorization.md
|
||||||
- API Reference: api.md
|
- API Reference: api.md
|
||||||
|
|
||||||
theme:
|
theme:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue