Ang repositoryong ito ay naglalaman ng Python na implementasyon ng Model Context Protocol (MCP), na nagpapakita kung paano gumawa ng parehong server at client na aplikasyon na nag-uusap gamit ang MCP standard.
Ang implementasyon ng MCP ay binubuo ng dalawang pangunahing bahagi:
-
MCP Server (
server.py) - Isang server na naglalabas ng:- Tools: Mga function na maaaring tawagin nang malayuan
- Resources: Data na maaaring kunin
- Prompts: Mga template para sa paggawa ng prompts para sa mga language model
-
MCP Client (
client.py) - Isang client na aplikasyon na kumokonekta sa server at ginagamit ang mga tampok nito
Ipinapakita ng implementasyong ito ang ilang mahahalagang tampok ng MCP:
completion- Gumagawa ng mga text completion mula sa AI models (pinagkunwari)add- Simpleng calculator na nagdadagdag ng dalawang numero
models://- Nagbabalik ng impormasyon tungkol sa mga available na AI modelsgreeting://{name}- Nagbabalik ng personalisadong pagbati para sa isang pangalan
review_code- Gumagawa ng prompt para sa pagre-review ng code
Para magamit ang implementasyong MCP na ito, i-install ang mga kinakailangang package:
pip install mcp-server mcp-clientPatakbuhin ang server sa isang terminal window:
python server.pyMaari ring patakbuhin ang server sa development mode gamit ang MCP CLI:
mcp dev server.pyO i-install ito sa Claude Desktop (kung available):
mcp install server.pyPatakbuhin ang client sa isa pang terminal window:
python client.pyIto ay kokonekta sa server at ipapakita ang lahat ng mga available na tampok.
Ipinapakita ng client (client.py) ang lahat ng kakayahan ng MCP:
python client.pyIto ay kokonekta sa server at gagamitin ang lahat ng tampok kabilang ang tools, resources, at prompts. Ang output ay magpapakita ng:
- Resulta ng calculator tool (5 + 7 = 12)
- Tugon ng completion tool sa "What is the meaning of life?"
- Listahan ng mga available na AI models
- Personal na pagbati para sa "MCP Explorer"
- Template ng prompt para sa pagre-review ng code
Ang server ay naipatupad gamit ang FastMCP API, na nagbibigay ng mataas na antas ng abstraction para sa pagdedeklara ng mga MCP service. Narito ang isang pinasimpleng halimbawa kung paano dine-define ang mga tools:
@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 + bGumagamit ang client ng MCP client library para kumonekta at tumawag sa 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})Para sa karagdagang impormasyon tungkol sa MCP, bisitahin: https://modelcontextprotocol.io/
Paalala:
Ang dokumentong ito ay isinalin gamit ang AI translation service na Co-op Translator. Bagamat nagsusumikap kami para sa katumpakan, pakatandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o di-tumpak na impormasyon. Ang orihinal na dokumento sa kanyang sariling wika ang dapat ituring na pangunahing sanggunian. Para sa mahahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.