Files
2026-07-13 13:31:35 +08:00

125 lines
6.7 KiB
Markdown

# ការអនុវត្ត Model Context Protocol (MCP) ជា Python
Repository នេះមានអនុវត្តន៍ Model Context Protocol (MCP) ជា Python ដែលបង្ហាញពីរបៀបបង្កើតកម្មវិធីទាំងម៉ាស៊ីនមួយ និងកម្មវិធីអតិថិជនមួយ ដែលទំនាក់ទំនងគ្នាតាមស្តង់ដារ MCP។
## ទិដ្ឋភាពទូទៅ
ការអនុវត្ត MCP សម្រុកពីជាផ្នែកសំខាន់ពីរដូចជា៖
1. **ម៉ាស៊ីន MCP (`server.py`)** - ម៉ាស៊ីនមួយដែលបង្ហាញ៖
- **ឧបករណ៍**: មុខងារដែលអាចហៅពីចម្ងាយបាន
- **ធនធាន**: ទិន្នន័យដែលអាចទាញយកបាន
- **ការជំរុញ**: គំរូសម្រាប់បង្កើតការជំរុញសម្រាប់គំរូភាសា
2. **អតិថិជន MCP (`client.py`)** - កម្មវិធីអតិថិជនដែលភ្ជាប់ទៅម៉ាស៊ីន និងប្រើប្រាស់មុខងាររបស់វា
## មុខងារ
ការអនុវត្តនេះបង្ហាញពីមុខងារ MCP សំខាន់ៗជាច្រើន៖
### ឧបករណ៍
- `completion` - បង្កើតការបញ្ចប់អត្ថបទពីគំរូ AI (កំពុងស្ទាង)
- `add` - ម៉ាស៊ីនគណនារងមានសាមញ្ញ ដែលបូកលេខពីរប្រមាណ
### ធនធាន
- `models://` - ត្រឡប់ព័ត៌មានអំពីគំរូ AI មាននៅ
- `greeting://{name}` - ត្រឡប់ការស្វាគមន៍ផ្ទាល់ខ្លួនសម្រាប់ឈ្មោះណាមួយ
### ការជំរុញ
- `review_code` - បង្កើតការជំរុញសម្រាប់ពិនិត្យកូដ
## ការដំឡើង
ដើម្បីប្រើប្រាស់ការអនុវត្ត MCP នេះ សូមដំឡើងកញ្ចប់ដែលត្រូវការ៖
```powershell
pip install mcp-server mcp-client
```
## ការរត់ម៉ាស៊ីន និង អតិថិជន
### ការចាប់ផ្តើមម៉ាស៊ីន
រត់ម៉ាស៊ីនក្នុងបង្អួច terminal មួយ៖
```powershell
python server.py
```
ម៉ាស៊ីនក៏អាចរត់ក្នុងរបៀបអភិវឌ្ឍន៍ដោយប្រើ MCP CLI៖
```powershell
mcp dev server.py
```
ឬដំឡើងនៅក្នុង Claude Desktop (បើមាន)៖
```powershell
mcp install server.py
```
### ការរត់អតិថិជន
រត់អតិថិជនមួយនៅក្នុងបង្អួច terminal ផ្សេងទៀត៖
```powershell
python client.py
```
នេះនឹងភ្ជាប់ទៅម៉ាស៊ីន និងបង្ហាញមុខងារ​ទាំងអស់ដែលមាន។
### ការប្រើប្រាស់អតិថិជន
អតិថិជន (`client.py`) បង្ហាញពីសមត្ថភាព MCP ទាំងអស់៖
```powershell
python client.py
```
នេះនឹងភ្ជាប់ទៅម៉ាស៊ីន និងប្រើប្រាស់មុខងារទាំងអស់ រួមទាំងឧបករណ៍, ធនធាន និងការជំរុញ។ លទ្ធផលនឹងបង្ហាញ៖
1. លទ្ធផលឧបករណ៍គណនារង (5 + 7 = 12)
2. ចម្លើយឧបករណ៍បញ្ចប់ទៅ "What is the meaning of life?"
3. បញ្ជីគំរូ AI មាននៅ
4. ស្វាគមន៍ផ្ទាល់ខ្លួនសម្រាប់ "MCP Explorer"
5. គំរូការជំរុញពិនិត្យកូដ
## ព័ត៌មានលំអិតអំពីការអនុវត្ត
ម៉ាស៊ីនត្រូវបានអនុវត្តដោយប្រើ API `FastMCP` ដែលផ្តល់ជូននូវការបង្ហាញកម្រិតខ្ពស់សម្រាប់កំណត់សេវាកម្ម MCP។ នេះគឺជាឧទាហរណ៍សាមញ្ញពីរបៀបកំណត់ឧបករណ៍៖
```python
@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 + b
```
អតិថិជនប្រើបណ្ណាល័យអតិថិជន MCP ដើម្បីភ្ជាប់ និងហៅម៉ាស៊ីន៖
```python
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})
```
## រៀនបន្ថែម
សម្រាប់ព័ត៌មានបន្ថែមអំពី MCP សូមទៅកាន់៖ https://modelcontextprotocol.io/
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការបដិសេធ**
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះបីយើងព្យាយាមរក្សា​ភាពត្រឹមត្រូវក៏ដោយ សូមយល់ថា ការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬច្រឡំបាន។ ឯកសារដើមដែលមានជាភាសាមាតុភូមិគួរត្រូវបានគេយកជាឯកសារដែលមានអត្ថន័យត្រឹមត្រូវបំផុត។ សម្រាប់ព័ត៌មានសារៈសំខាន់ យើងណែនាំឱ្យប្រើការបកប្រែដោយមនុស្សជំនាញវិជ្ជាជីវៈ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសពីការប្រើប្រាស់ការបកប្រែនេះទេ។
<!-- CO-OP TRANSLATOR DISCLAIMER END -->