Provides a Python implementation of both MCP client and server components, allowing Python applications to expose and access MCP capabilities.
Employs WebSocket connections for real-time bidirectional communication between MCP clients and servers, supporting the complete MCP handshake and capability negotiation process.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Model Context Protocol (MCP) Serverlist available tools and resources"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Model Context Protocol (MCP) Python Implementation
This project implements a functioning Model Context Protocol (MCP) server and client in Python, following the Anthropic MCP specification. It demonstrates the key patterns of the MCP protocol through a simple, interactive example.
What is MCP?
The Model Context Protocol (MCP) is an open standard built on JSON-RPC 2.0 for connecting AI models to external data sources and tools. It defines a client-server architecture where an AI application communicates with one or more MCP servers, each exposing capabilities such as:
Tools: Executable functions that perform actions
Resources: Data sources that provide information
Prompts: Predefined templates or workflows
MCP standardizes how these capabilities are discovered and invoked, serving as a "USB-C for AI" that allows models to interact with external systems in a structured way.
Related MCP server: MCP Server Python Template
Project Structure
server/: MCP server implementationserver.py: WebSocket server that handles MCP requests and provides sample tools/resources
client/: MCP client implementationclient.py: Demo client that connects to the server and exercises all MCP capabilities
Features Demonstrated
This implementation showcases the core MCP protocol flow:
Capability Negotiation: Client-server handshake via
initializeCapability Discovery: Listing available tools and resources
Tool Invocation: Calling the
add_numberstool with parametersResource Access: Reading text content from a resource
Setup
Create a virtual environment:
python3 -m venv .venv source .venv/bin/activateInstall dependencies:
pip install -r requirements.txt
Usage
Start the MCP server (in one terminal):
python server/server.pyRun the MCP client (in another terminal):
python client/client.py
The client will connect to the server, perform the MCP handshake, discover capabilities, and demonstrate invoking tools and accessing resources with formatted output.
How It Works
MCP Server
The server:
Accepts WebSocket connections
Responds to JSON-RPC requests following the MCP specification
Provides a sample tool (
add_numbers)Provides a sample resource (
example.txt)Supports the MCP handshake and capability discovery
MCP Client
The client:
Connects to the server via WebSocket
Performs the MCP handshake
Discovers available tools and resources
Demonstrates calling a tool and reading a resource
Presents the results in a formatted display
Protocol Details
MCP implements these key methods:
Method | Description |
| Handshake to establish capabilities |
| List available tools |
| Call a tool with arguments |
| List available resources |
| Read resource content |
| List available prompts |
Extending the Project
You can extend this implementation by:
Adding more tools with different capabilities
Adding dynamic resources that change on each read
Implementing prompt templates for guided interactions
Creating more interactive client applications
References
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.