Skip to content

Add README #32

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 7, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 71 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,72 @@
# mcp-python
Model Context Protocol implementation for Python

Python implementation of the Model Context Protocol (MCP), providing both client and server capabilities for integrating with LLM surfaces.

## Overview

The Model Context Protocol allows applications to provide context for LLMs in a standardized way, separating the concerns of providing context from the actual LLM interaction. This Python SDK implements the full MCP specification, making it easy to:

- Build MCP clients that can connect to any MCP server
- Create MCP servers that expose resources, prompts and tools
- Use standard transports like stdio and SSE
- Handle all MCP protocol messages and lifecycle events

## Installation

```bash
uv add mcp-python
```

## Quick Start

### Creating a Client

```python
from mcp_python import ClientSession
from mcp_python.client.stdio import stdio_client

async with stdio_client(command="path/to/server") as (read, write):
async with ClientSession(read, write) as session:
# Initialize the connection
await session.initialize()

# List available resources
resources = await session.list_resources()
```

### Creating a Server

```python
from mcp_python.server import Server
from mcp_python.server.stdio import stdio_server

# Create a server instance
server = Server("example-server")

# Add capabilities
@server.list_resources()
async def list_resources():
return [
{
"uri": "file:///example.txt",
"name": "Example Resource"
}
]

# Run the server
async with stdio_server() as (read, write):
await server.run(read, write, server.create_initialization_options())
```

## Documentation

- [MCP Specification](https://modelcontextprotocol.github.io)
- [Example Servers](https://github.com/modelcontextprotocol/example-servers)

## Contributing

Issues and pull requests are welcome on GitHub at https://github.com/modelcontextprotocol/python-sdk.

## License

This project is licensed under the MIT License - see the LICENSE file for details.