Dis repository get Python implementation of di Model Context Protocol (MCP), wey dey show how to create server and client application wey go dey communicate wit MCP standard.
Di MCP implementation get two main parts:
-
MCP Server (
server.py) - Na server wey dey provide:- Tools: Functions wey person fit call from far place
- Resources: Data wey person fit collect
- Prompts: Templates wey dey help generate prompts for language models
-
MCP Client (
client.py) - Na client application wey dey connect to di server and use di features
Dis implementation dey show some important MCP features:
completion- E dey generate text completions from AI models (na simulation)add- Na simple calculator wey dey add two numbers
models://- E dey return information about di AI models wey dey availablegreeting://{name}- E dey return personalized greeting for di name wey you give am
review_code- E dey generate prompt for reviewing code
To use dis MCP implementation, install di packages wey you need:
pip install mcp-server mcp-clientRun di server for one terminal window:
python server.pyYou fit also run di server for development mode wit di MCP CLI:
mcp dev server.pyOr install am for Claude Desktop (if e dey available):
mcp install server.pyRun di client for another terminal window:
python client.pyDis one go connect to di server and show all di features wey dey available.
Di client (client.py) dey show all di MCP features:
python client.pyDis one go connect to di server and use all di features like tools, resources, and prompts. Di output go show:
- Result for calculator tool (5 + 7 = 12)
- Response from completion tool for "Wetin be di meaning of life?"
- List of di AI models wey dey available
- Personalized greeting for "MCP Explorer"
- Code review prompt template
Di server dey use FastMCP API, wey dey provide high-level way to define MCP services. Dis na example of how tools dey defined:
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + bDi client dey use MCP client library to connect and call di server:
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})To sabi more about MCP, visit: https://modelcontextprotocol.io/
Disclaimer:
Dis dokyument don use AI translation service Co-op Translator do di translation. Even as we dey try make am correct, abeg make you sabi say machine translation fit get mistake or no dey accurate well. Di original dokyument wey dey for im native language na di one wey you go take as di correct source. For important information, e better make professional human translation dey use. We no go fit take blame for any misunderstanding or wrong interpretation wey fit happen because you use dis translation.