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

121 lines
6.5 KiB
Markdown

# Model Context Protocol (MCP) Python Implementation
ที่เก็บนี้ประกอบด้วยการใช้งาน Model Context Protocol (MCP) ด้วยภาษา Python โดยแสดงตัวอย่างการสร้างทั้งแอปเซิร์ฟเวอร์และไคลเอนต์ที่สื่อสารกันตามมาตรฐาน MCP
## ภาพรวม
การใช้งาน MCP ประกอบด้วยส่วนหลักสองส่วน:
1. **MCP Server (`server.py`)** - เซิร์ฟเวอร์ที่เปิดเผย:
- **Tools**: ฟังก์ชันที่สามารถเรียกใช้งานจากระยะไกล
- **Resources**: ข้อมูลที่สามารถดึงมาใช้ได้
- **Prompts**: เทมเพลตสำหรับสร้างคำสั่งสำหรับโมเดลภาษา
2. **MCP Client (`client.py`)** - แอปไคลเอนต์ที่เชื่อมต่อกับเซิร์ฟเวอร์และใช้ฟีเจอร์ต่างๆ
## ฟีเจอร์
การใช้งานนี้แสดงฟีเจอร์หลักของ MCP หลายอย่าง:
### Tools
- `completion` - สร้างข้อความเติมเต็มจากโมเดล AI (จำลอง)
- `add` - เครื่องคิดเลขง่ายๆ ที่บวกเลขสองจำนวน
### Resources
- `models://` - คืนข้อมูลเกี่ยวกับโมเดล AI ที่มีให้ใช้งาน
- `greeting://{name}` - ส่งคืนคำทักทายส่วนตัวสำหรับชื่อที่ระบุ
### Prompts
- `review_code` - สร้างคำสั่งสำหรับการตรวจสอบโค้ด
## การติดตั้ง
เพื่อใช้งาน MCP นี้ ให้ติดตั้งแพ็กเกจที่จำเป็น:
```powershell
pip install mcp-server mcp-client
```
## การรันเซิร์ฟเวอร์และไคลเอนต์
### การเริ่มต้นเซิร์ฟเวอร์
รันเซิร์ฟเวอร์ในหน้าต่างเทอร์มินัลหนึ่ง:
```powershell
python server.py
```
เซิร์ฟเวอร์ยังสามารถรันในโหมดพัฒนาโดยใช้ MCP CLI ได้:
```powershell
mcp dev server.py
```
หรือจะติดตั้งใน Claude Desktop (ถ้ามี):
```powershell
mcp install server.py
```
### การรันไคลเอนต์
รันไคลเอนต์ในหน้าต่างเทอร์มินัลอีกอัน:
```powershell
python client.py
```
ซึ่งจะเชื่อมต่อกับเซิร์ฟเวอร์และสาธิตฟีเจอร์ทั้งหมดที่มี
### การใช้งานไคลเอนต์
ไคลเอนต์ (`client.py`) แสดงความสามารถทั้งหมดของ MCP:
```powershell
python client.py
```
ซึ่งจะเชื่อมต่อกับเซิร์ฟเวอร์และใช้งานฟีเจอร์ทั้งหมดรวมถึง tools, resources และ prompts ผลลัพธ์จะแสดง:
1. ผลลัพธ์เครื่องคิดเลข (5 + 7 = 12)
2. การตอบกลับจากเครื่องมือ completion สำหรับคำถาม "What is the meaning of life?"
3. รายชื่อโมเดล AI ที่มีให้ใช้งาน
4. คำทักทายส่วนตัวสำหรับ "MCP Explorer"
5. เทมเพลตคำสั่งสำหรับตรวจสอบโค้ด
## รายละเอียดการใช้งาน
เซิร์ฟเวอร์ถูกพัฒนาด้วย `FastMCP` API ซึ่งให้การจัดการระดับสูงสำหรับการกำหนดบริการ MCP ตัวอย่างง่ายๆ ของการกำหนด tools มีดังนี้:
```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 client เพื่อเชื่อมต่อและเรียกใช้งานเซิร์ฟเวอร์:
```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](https://github.com/Azure/co-op-translator) แม้เราจะพยายามให้ความถูกต้องสูงสุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลโดยผู้เชี่ยวชาญมนุษย์ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดใด ๆ ที่เกิดจากการใช้การแปลนี้