
阿里妹導讀
本文主要圍繞AI技術的進步,特別是Anthropic的Claude 3.7 Sonnet模型在邏輯推理、程式碼生成和複雜任務執行方面的能力提升及其應用場景。
一、引言
AI 技術近年來取得了顯著進展,從最初的文字生成和簡單問答工具,逐步演變為能夠與現實世界互動的執行者。這種轉變得益於大模型的增強能力,特別是 Anthropic 的 Claude 3.7 模型,它在邏輯推理和程式碼生成方面表現卓越。
早期使用者對 Claude 3.7 Sonnet 的反饋:
-
Cursor 報告稱其在實際編碼任務中“再次成為最佳”,特別是在處理複雜程式碼庫和高階工具使用方面。
-
Cognition 發現它在規劃程式碼更改和處理全棧更新方面遠超其他模型。
-
Vercel 強調其在複雜代理工作流中的“卓越精度”。
-
Replit 成功使用它從頭構建複雜的網路應用程式和儀表板,而其他模型則停滯不前。
-
Canva 報告其生成的程式碼“生產就緒”,錯誤顯著減少。

Claude 3.7 Sonnet是 AI 技術的重要里程碑,它們透過深度推理、自主工作和有效協作的能力,不僅輔助人類完成任務,還擴充套件了人類的可能性,預示了一個 AI 與人類深度合作的未來。

參考:
-
https://www.anthropic.com/news/claude-3-7-sonnet -
https://www.anthropic.com/claude/sonnet#customer-stories
二、Claude 3.7:技術突破與能力提升
官方研究報告地址:https://assets.anthropic.com/m/785e231869ea8b3b/original/claude-3-7-sonnet-system-card.pdf
2025 年 2 月 25 日,Anthropic 宣佈推出 Claude 3.7 Sonnet,這是其迄今最智慧的 AI 模型,同時推出了 Claude Code,一款用於代理編碼的命令列工具。這一發布標誌著 AI 技術在混合推理和實際任務執行方面的重大進步,特別是在編碼和網路開發領域。
報告詳細探討系統卡的核心內容,包括模型能力、安全措施和責任擴充套件政策(RSP)評估。
模型概述
根據 Claude 3.7 Sonnet 系統卡,Claude 3.7 Sonnet 是 Claude 3 系列的混合推理模型,首次引入“擴充套件思考”模式。它是 Anthropic 迄今最智慧的模型,特別擅長編碼任務,並具有 200K 的上下文視窗。以下是關鍵技術亮點:
-
知識截止日期:截至 2024 年 10 月底,訓練資料包括 2024 年 11 月之前的資料。 -
訓練資料:使用專有混合資料,包括公共網際網路、非公開第三方資料、資料標註服務和內部生成資料,不包括使用者提示/輸出資料,遵循 robots.txt 爬取規則,不訪問密碼保護或 CAPTCHA 頁面。 -
訓練重點:注重幫助性、無害性和誠實性,使用 Constitutional AI,並新增了從 Collective Constitutional AI 研究中得出的殘疾權利原則。 -
擴充套件思考模式:透過令牌序列進行推理,允許使用者透過系統提示指定最大思考令牌數,特別適用於數學、複雜分析和多步驟任務。
各種安全評估
根據《Claude 3.7 Sonnet System Card》(Anthropic, 2025),Claude 3.7 模型透過全面的安全性評估,確保其在複雜任務中的無害性和可靠性。報告中詳細探討了兒童安全、偏見、惡意使用和提示注入等風險,並在責任擴充套件政策(RSP)框架下評估了 CBRN、自主性及網路安全領域的潛在威脅。例如,模型在 SWE-bench Verified 測試中得分 70.3%,在減少不必要拒絕方面提升了 45%,同時透過擴充套件思考模式的最佳化,保持了推理的忠實性和透明度(Anthropic, 2025, p. 12-41)。這種對安全的重點關注,體現了 Anthropic 致力於負責任 AI 發展的承諾。

安全與無害性評估
系統卡詳細描述了 Claude 3.7 Sonnet 的安全測試,涵蓋多個方面:



責任擴充套件政策(RSP)評估
系統卡還包括 RSP 評估,涵蓋 CBRN、自主性和網路安全領域:

網路安全與未來風險
系統卡還評估了網路操作和潛在未來風險:
-
自主網路操作:在現實評估中,Claude 3.7 Sonnet 在易任務中 1/1 成功(Pass@5),中任務 1/2 成功。 -
Cybench 基準:在 40 個 CTF 挑戰中,成功 15/34 次,與 3.5 Sonnet (new) 的 14/34 比較。 -
破壞能力:評估未來 AI 系統可能破壞評估或影響開發者的行為,引用相關研究。
為什麼這麼多的安全評估?
問題:為什麼Claude要這麼大費周章地做安全性的評估?這說明AI真的已經開始在威脅到人類了?裡面關於安全的篇幅為什麼這麼多?
Grok3:Claude之所以大費周章地進行安全性評估,不是因為AI已經威脅人類,而是為了預防潛在風險、滿足監管和使用者需求、應對技術複雜性,並體現倫理責任。安全篇幅多是因為評估的系統性、透明性和全面性,覆蓋了從基礎功能到高風險應用的各個方面。這種做法表明Anthropic致力於負責任的AI開發,確保Claude 3.7 Sonnet在廣泛應用中安全可靠,而非AI威脅的證據。
Claude 3.7:安全評估之所以成為Claude等AI系統開發過程中的重要環節,並非因為AI已經對人類構成實際威脅,而是出於負責任的技術發展考慮。
重視安全評估主要有以下幾個原因:
1.預防性原則 – 在技術發展初期就建立安全框架,比等問題出現後再解決更為明智。
2.社會責任 – 開發強大工具的企業有責任確保其產品不會造成意外傷害。
3.複雜性管理 – AI系統越來越複雜,可能出現開發者無法預見的行為。
4.建立信任 – 透明的安全評估有助於建立公眾和監管機構對AI技術的信任。
5.防範錯誤使用 – 即使AI本身無害,也可能被錯誤使用或濫用。
大量關於安全的內容反映了行業對這一問題的重視,以及努力確保AI發展朝著有益於人類的方向前進的決心,而非暗示AI已經成為威脅。這更像是一種技術成熟度的體現,就像其他任何重要技術(如醫藥、航空、核能)都需要嚴格的安全標準一樣。
O3 Mini:從某種角度看,Claude(以及其他類似的先進 AI 系統)在安全性評估上花費大量篇幅,其實是一種負責任研發和部署技術的表現,而不必然意味著 AI 已經在“威脅到人類”。下面幾點可以解釋這種現象:
1.預防和控制風險
高階 AI 系統擁有強大的生成能力和決策潛力,這也意味著在特定場景下可能會產生不可預見的行為或被錯誤地利用。透過系統化的安全評估,開發者可以提前識別和緩解潛在風險,確保系統在各種情況下都能遵循設定的倫理和安全標準。
2.負責任的技術開發
如今的 AI 研究環境越來越重視“對齊”問題,即如何使 AI 的目標和行為與人類的價值觀保持一致。Claude 在開發過程中增加安全性評估和相關措施,正是在體現這份對技術社會影響的謹慎態度。很多機構都在提前進行大量測試和理論驗證,以防止可能出現的問題。
3.避免濫用和誤解
安全性評估不僅僅是為了防止 AI 自身出現問題,也包括防範外部惡意使用情況。透過設定詳細的安全策略和限制,開發者希望能減少 AI 被錯誤利用或造成人為損害的可能性。
4.前瞻性安全設計
高度複雜的系統通常需要層層防護,就像現代工業中的其他高風險領域(比如航空、核能等),AI 技術的發展也需要穩妥而縝密的安全設計。篇幅較多的安全部分說明相關團隊在專案前期就投入大量精力,確保系統在實際執行中具備足夠的穩定性和安全保障。
因此,Claude 要進行如此詳盡的安全性評估,並不是說明 AI 已經構成了直接威脅,而是開發者認識到隨著技術不斷進步,潛在風險也在增加,從而主動採取措施以確保技術“向善”發展。這樣的做法反而體現了整個行業對安全和倫理問題高度重視的態度。
案例
天氣動畫卡片
建立一個包含 CSS 和 JavaScript 的單一 HTML 檔案,以生成一個動畫天氣卡。該卡片應透過不同的動畫直觀地展示以下天氣條件:
風:(例如,移動的雲、搖擺的樹木或風線)
雨:(例如,落下的雨滴、形成的水坑)
晴:(例如,閃耀的光線、明亮的背景)
雪:(例如,落下的雪花、積雪)
所有天氣卡應並排顯示。卡片應具有深色背景。在這個單一檔案中提供所有的 HTML、CSS 和 JavaScript 程式碼。JavaScript 應包含一種切換不同天氣條件的方法(例如,一個函式或一組按鈕),以展示每種天氣的動畫效果。
風:(例如,移動的雲、搖擺的樹木或風線)
雨:(例如,落下的雨滴、形成的水坑)
晴:(例如,閃耀的光線、明亮的背景)
雪:(例如,落下的雪花、積雪)
所有天氣卡應並排顯示。卡片應具有深色背景。在這個單一檔案中提供所有的 HTML、CSS 和 JavaScript 程式碼。JavaScript 應包含一種切換不同天氣條件的方法(例如,一個函式或一組按鈕),以展示每種天氣的動畫效果。
生成SVG圖
詳細閱讀我下面的文章內容,幫我基於文章的內容重點,繪製一張SVG圖,用圖說話,方便我快速獲取資訊;
====
MCP相關的內容…

設計風格對比(內容對比)
請為我建立一個 HTML 頁面,展示多種主流設計風格的視覺示例和效果,以便我能直觀瞭解每種風格的樣貌。請包含現代主義、極簡主義、工業風格等,確保頁面簡潔易懂。

教學動畫
這個是讓模型幫我寫的一個提示詞,看其它地方講可以用來做動畫試一下效果。
生成一個動畫,講解如何計算由引數曲線和x軸圍成的面積。引數曲線由函式 ( x(t) ) 和 ( y(t) ) 定義,( t ) 從 0 到 1。動畫需逐步展開,視覺清晰,幫助學生理解計算過程。
視覺元素:
-
座標系:
-
繪製一個笛卡爾座標系,x軸和y軸用白色標註。
-
x軸水平位於底部,標記點 0 和 1;y軸垂直位於左側,標記點 0 和 1。
-
關鍵點:
-
用不同顏色的點標記並用白色文字標註以下位置:
-
點 A (0, 0):原點,用黃色點標記。
-
點 B (0, 1):y軸上,用紅色點標記。
-
點 C (1, 1):右上角,用紫色點標記。
-
點 D (1, 0):x軸上,用黃色點標記。
-
矩形:
-
用淺藍色線條連線 A、B、C、D 四點,形成一個正方形。
-
引數曲線:
-
在正方形內繪製一條黃色的半圓形曲線,向上拱起,表示引數曲線 ( x(t) ) 和 ( y(t) )。
-
陰影區域:
-
將曲線與x軸之間的區域用青色(teal)填充,表示待計算的面積。
-
公式展示:
-
在青色陰影區域內,用白色文字清晰顯示面積計算公式:
\text{Area} = \int_{0}^{1} y(t) \cdot x'(t) \, dt
動畫序列:
動畫需按以下步驟逐步呈現,確保觀眾能跟隨理解:
動畫需按以下步驟逐步呈現,確保觀眾能跟隨理解:
1.從黑色背景開始,繪製並標註座標系(x軸和y軸)。
2.逐一繪製並標註點 A、B、C、D,使用各自的顏色。
3.用淺藍色線條連線四點,繪製矩形正方形。
4.緩慢繪製黃色半圓形曲線,強調其為引數曲線。
5.用青色填充曲線下的區域,突出顯示待計算的面積。
6.在陰影區域內顯示公式
\text{Area} = \int_{0}^{1} y(t) \cdot x'(t) \, dt
風格與設計:
-
採用數學插圖常見的簡潔精確風格。
-
使用黑色背景,搭配白色文字和彩色元素(點、線、陰影),增強視覺對比度。
-
確保所有元素(點、曲線、陰影)清晰可辨。
額外要求:
-
動畫過渡需平滑,節奏適中,避免觀眾感到倉促。
-
可加入細微動態效果(如曲線逐漸繪製、陰影逐步填充),增加趣味性和吸引力。
小結
-
模型能力持續提升,效果都比以往更好,準確度更高;
-
我們還沒有完全發揮這些模型的潛力,主要是缺乏想象力;
-
只要善用模型配置和寫程式碼的能力,AI就能在日常工作中帶來巨大的幫助。
-
資料分析
-
生成報告
-
日常自動化任務
-
嘗試讓模型和自身領域結合,掘出更多實用價值;
三、MCP:模型與現實世界的連線
什麼是 MCP?
MCP,全稱是“模型上下文協議”(Model Context Protocol),是Anthropic開源的一個標準協議。打個比方,它就像是AI世界的“USB-C”介面。你知道USB-C吧?一根線就能連線手機、電腦、充電器,超級方便。MCP的作用也差不多,它讓AI模型(比如Anthropic的Claude)可以輕鬆地跟外部的資料來源和工具連線起來,比如資料庫、檔案系統、API等等。
以前,如果想讓AI訪問你的資料庫或者呼叫某個工具,得專門寫一堆程式碼,特別麻煩。現在有了MCP,就像是插上USB-C線那麼簡單,AI模型透過這個標準協議就能直接獲取資料或執行操作,不用每次都重新開發連線方式。這樣,開發AI應用就變得更快、更省事了。

MCP怎麼工作?
MCP用的是客戶端-伺服器的模式,簡單來說:
-
MCP客戶端:嵌在AI應用裡(比如Claude Desktop),負責跟伺服器“聊天”,告訴伺服器“我需要什麼資料”或者“幫我乾點兒啥”。 -
MCP伺服器:一個輕量級的小程式,連線到具體的資料來源或工具(比如你的本地檔案、GitHub倉庫、Slack頻道),然後按照客戶端的請求提供資料或者執行任務。
它們之間用一種標準的訊息格式(基於JSON-RPC)交流,AI模型可以透過這些訊息:
1.獲取資料:比如從資料庫裡查東西、從檔案裡讀內容。
2.執行操作:比如呼叫API發個訊息、管理程式碼倉庫。
3.理解指令:透過一些提示模板,AI知道怎麼用這些資料和工具。

MCP有什麼好處?
MCP之所以厲害,主要有這幾點:
1.標準化:就像USB-C成了通用介面,MCP讓AI跟外部世界的連線有了統一標準,省去了重複開發的麻煩。
2.安全性:伺服器管著訪問許可權,不用擔心資料被亂用。
3.靈活性:不管是資料庫、檔案還是API,MCP都能支援,而且還能根據需要擴充套件。
4.跨平臺:不管你用什麼系統、什麼程式語言(目前有Python和TypeScript的支援),都能用。
MCP能幹啥?
舉幾個例子你就明白了:
-
資料分析:AI可以直接查資料庫,拿到最新資料幫你分析。
-
自動化任務:比如讓AI呼叫API,在GitHub上建立issue,或者在Slack上發訊息。
-
開發輔助:AI跟你的程式碼編輯器(IDE)連起來,幫你寫程式碼、找bug。
Anthropic已經開源了MCP,還提供了幾個現成的示例伺服器,比如連線Google Drive、Slack、GitHub等。社群也在開發更多伺服器,未來能幹的事會越來越多。
簡單來說,MCP就是AI的“萬能介面”。有了它,AI模型就能像插上USB-C線一樣,輕鬆連線到各種外部資料來源和工具,變得更聰明、更實用。不管是開發者還是普通使用者,都能透過MCP讓AI幹更多事,而且過程簡單又安全。未來隨著MCP的普及,我們可能會看到更多酷炫的AI應用冒出來!
如何開發MCP Server?
-
開發一個MCP Server需要使用Anthropic的Model Context Protocol(MCP),它是一個開源標準協議,幫助AI模型與外部資料來源和工具無縫連線。
-
推薦使用Python SDK,透過uv或pip安裝,建立簡單的伺服器檔案,並使用mcp dev命令本地執行。
-
該伺服器可以作為HTTP服務執行,通常監聽預設埠(如3000),使用者可以透過HTTP請求與伺服器互動。
MCP(模型上下文協議)伺服器提供三種主要能力:資源、工具和提示詞:
-
資源(Resources)資源是AI可以讀取的資料,比如檔案內容、資料庫查詢結果或API的響應。 例如,AI可能透過資源獲取你的日曆事件列表。
-
工具(Tools)工具是AI可以呼叫的函式,用於執行特定操作,比如新增新任務或傳送郵件,使用工具時,通常需要使用者先批准,以確保安全。
-
提示詞(Prompts)提示詞是伺服器提供給AI的預寫訊息或模板,幫助AI理解如何使用資源和工具,例如,伺服器可能告訴AI:“你可以新增任務,試試說‘新增任務:買牛奶’”,從而幫助使用者更輕鬆地完成任務。提示詞雖然直接提供給AI,但實際上是透過AI間接幫助使用者,比如AI會根據提示詞告訴使用者如何操作。

安裝與設定
安裝MCP Python SDK,可以選擇以下兩種方式安裝MCP Python SDK:
-
使用uv(推薦,速度更快):執行uv add "mcp[cli]"。 uv是一個Rust編寫的現代Python包管理器,相比傳統pip更高效。
curl -LsSf https://astral.sh/uv/install.sh | sh
uv add "mcp[cli]"
-
使用pip:執行pip install mcp。
建立簡單伺服器
建立一個名為server.py的檔案,內容如下:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Simple Server")
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add兩個數字"""
return a + b
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""獲取個性化問候"""
return f"Hello, {name}!"
執行伺服器,使用以下命令在開發模式下執行伺服器:
mcp dev server.py

一個複雜一點的TODO MCP服務;
import sqlite3
from fastapi import HTTPException
from mcp.server.fastmcp import FastMCP
import atexit
db_conn = None
def init_db():
global db_conn
db_conn = sqlite3.connect("todo.db")
cursor = db_conn.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS tasks (id INTEGER PRIMARY KEY, description TEXT NOT NULL, completed INTEGER DEFAULT 0);")
db_conn.commit()
init_db()
def close_db():
if db_conn:
db_conn.close()
atexit.register(close_db)
mcp = FastMCP("To-Do List Server")
@mcp.tool()
def add_task(description: str) -> int:
ifnot description.strip():
raise ValueError("Task description cannot be empty")
cursor = db_conn.cursor()
cursor.execute("INSERT INTO tasks (description) VALUES (?);", (description,))
task_id = cursor.lastrowid
db_conn.commit()
return task_id
@mcp.tool()
def mark_task_completed(task_id: int) -> bool:
cursor = db_conn.cursor()
cursor.execute("UPDATE tasks SET completed=1 WHERE id=?;", (task_id,))
rows_affected = cursor.rowcount
db_conn.commit()
return rows_affected > 0
@mcp.tool()
def delete_task(task_id: int) -> bool:
cursor = db_conn.cursor()
cursor.execute("DELETE FROM tasks WHERE id=?;", (task_id,))
rows_affected = cursor.rowcount
db_conn.commit()
return rows_affected > 0
@mcp.tool()
def update_task_description(task_id: int, new_description: str) -> bool:
ifnot new_description.strip():
raise ValueError("Task description cannot be empty")
cursor = db_conn.cursor()
cursor.execute("UPDATE tasks SET description=? WHERE id=?;", (new_description, task_id))
rows_affected = cursor.rowcount
db_conn.commit()
return rows_affected > 0
@mcp.resource("tasks://all")
def get_all_tasks() -> list[dict]:
cursor = db_conn.cursor()
cursor.execute("SELECT id, description, completed FROM tasks;")
tasks = []
for row in cursor.fetchall():
tasks.append({"id": row[0], "description": row[1], "completed": bool(row[2])})
return tasks
@mcp.resource("task_status://{task_id}")
def get_task_status(task_id: int) -> dict:
cursor = db_conn.cursor()
cursor.execute("SELECT description, completed FROM tasks WHERE id=?;", (task_id,))
row = cursor.fetchone()
if row is None:
raise HTTPException(status_code=404, detail="Task not found")
return {"description": row[0], "completed": bool(row[1])}
@mcp.resource("task_counts://{dummy}")
def get_task_counts(dummy: str = "all") -> dict:
cursor = db_conn.cursor()
cursor.execute("SELECT COUNT(*) FROM tasks WHERE completed=0;")
incomplete_count = cursor.fetchone()[0]
cursor.execute("SELECT COUNT(*) FROM tasks WHERE completed=1;")
completed_count = cursor.fetchone()[0]
return {"incomplete": incomplete_count, "completed": completed_count}
@mcp.prompt()
def todo_list_prompt() -> str:
return"""
You have access to a to-do list server. You can use the following tools and resources:
- Tool: add_task(description) -> int
- Adds a new task with the given description and returns the task ID.
- Tool: mark_task_completed(task_id) -> bool
- Marks the task with the given ID as completed and returns True if successful, False otherwise.
- Tool: delete_task(task_id) -> bool
- Deletes the task with the given ID and returns True if successful, False otherwise.
- Tool: update_task_description(task_id, new_description) -> bool
- Updates the description of the task with the given ID and returns True if successful, False otherwise.
- Resource: tasks://all
- Returns a list of all tasks, each with their ID, description, and completion status.
- Resource: task_status://{task_id}
- Returns the status of the task with the given ID, including its description and completion status.
- Resource: task_counts://{dummy}
- Returns a dictionary with the count of incomplete and completed tasks.
You can use these to manage your to-do list.
"""
除錯伺服器



部署MCP服務
-
部署MCP伺服器可以選擇本地執行、VPS或雲平臺,具體取決於使用場景。
-
確保伺服器穩定、安全,並支援JSON-RPC和SSE協議。
-
使用mcp install server.py可為Claude Desktop安裝伺服器;對於通用部署,可用Uvicorn或Docker執行。
-
部署需配置HTTPS、限制訪問,並設定監控和日誌。
sudo mcp install server.py
部署成功之後,可以看到Claude Desktop多了一個MCP的服務;
如果出現問題,可以在控制檯中看到一些錯誤日誌,然後進行修復。

問題與修復
1、錯誤與修復:uv命令找不到;
2025-03-01T13:15:43.231Z [To-Do List Server] [info] Initializing server...
2025-03-01T13:15:43.246Z [To-Do List Server] [error] spawn uv ENOENT {"context":"connection","stack":"Error: spawn uv ENOENT\n at ChildProcess._handle.onexit (node:internal/child_process:285:19)\n at onErrorNT (node:internal/child_process:483:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)"}
2025-03-01T13:15:43.246Z [To-Do List Server] [error] spawn uv ENOENT {"stack":"Error: spawn uv ENOENT\n at ChildProcess._handle.onexit (node:internal/child_process:285:19)\n at onErrorNT (node:internal/child_process:483:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)"}
2025-03-01T13:15:43.248Z [To-Do List Server] [info] Server transport closed
2025-03-01T13:15:43.248Z [To-Do List Server] [info] Client transport closed
安裝全域性的uv
brew install uv
2、依賴包沒有找到

方法 1:安裝時指定依賴包
-
在執行 mcp install server2.py 時,使用 –with 選項指定所需的依賴包。例如:
mcp install server2.py --with fastapi
-
如果服務還依賴其他包(例如 uvicorn),可以用逗號分隔列出:
mcp install server2.py --with fastapi,uvicorn
-
執行後,MCP 會在隔離環境中自動安裝這些包。
方法 2:在程式碼中宣告依賴包
-
在你的服務程式碼 server2.py 中,使用 FastMCP 的 dependencies 引數指定依賴包。例如:
python
from fastmcp import FastMCP
mcp = FastMCP("To-Do List Server", dependencies=["fastapi", "uvicorn"])
3、說無法開啟資料庫目錄

修改程式碼中可以開啟的資料庫目錄;
db_conn = sqlite3.connect("/Users/aihe/Desktop/Claude_MCP_3D_Demo/todo.db")
如何整合MCP Server?
在這裡可以看到支援MCP Server的客戶端列表:
https://modelcontextprotocol.io/clients
Claude Desktop
sudomcpinstallserver.py
然後就可以看到這個服務安裝到了Claude Desktop的配置檔案中;

然後可以使用我們配置的MCP服務

Cursor&Windsurf
配置在cursor和Windsurf也是可以的;

整合外部Mcp Server
-
mcp.so:社群驅動的平臺,包含 1584 個伺服器,適合發現和分享。 -
glama.ai/mcp/servers:列出 872 個開源 MCP 伺服器,提供詳細資訊。 -
portkey.ai/mcp-servers:列出 42 個 MCP 伺服器,專注於開源領域。 -
GitHub 倉庫:punkpeye/awesome-mcp-servers
比如我看到了一個playweight的mcp 服務;

然後在本地做一下配置:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@executeautomation/playwright-mcp-server"]
}
}
}

然後本地可以使用這個對應的服務和工具;

客戶端SDK整合
參考:https://github.com/modelcontextprotocol/python-sdk
#!/usr/bin/env python3
"""
簡單的 MCP 客戶端示例
連線到 server2.py 並演示 MCP 的基本功能
"""
import asyncio
import os
import json
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
from typing import Optional, List, Dict, Any
# 建立連線到 server2.py 的引數
server_params = StdioServerParameters(
command="python",
args=[os.path.join(os.path.dirname(os.path.abspath(__file__)), "server2.py")],
env=None# 使用當前環境變數
)
asyncdefrun():
"""演示 MCP 客戶端功能的主函式"""
print("正在連線到 MCP 伺服器...")
asyncwith stdio_client(server_params) as (read, write):
asyncwith ClientSession(read, write) as session:
# 1. 初始化連線
await session.initialize()
print("✓ 已成功初始化連線")
# 2. 獲取可用的提示詞
try:
prompts = await session.list_prompts()
print(f"可用的提示詞: {prompts}")
if prompts and prompts.prompts:
# 3. 獲取提示詞內容
try:
prompt = await session.get_prompt(prompts.prompts[0].name)
print(f"\n伺服器提示詞:\n{prompt}\n")
except Exception as e:
print(f"獲取提示詞內容時出錯: {e}")
except Exception as e:
print(f"獲取提示詞列表時出錯: {e}")
# 4. 列出可用資源
try:
resources = await session.list_resources()
print(f"可用的資源: {resources}")
except Exception as e:
print(f"獲取資源列表時出錯: {e}")
resources = []
# 5. 列出可用工具
try:
tools = await session.list_tools()
print(f"可用的工具: {tools}")
except Exception as e:
print(f"獲取工具列表時出錯: {e}")
tools = []
if __name__ == "__main__":
try:
asyncio.run(run())
except KeyboardInterrupt:
print("\n程式已被使用者中斷")
except Exception as e:
print(f"\n發生錯誤: {e}")
finally:
print("演示完成")

四、MCP 的未來暢想
想象一下未來的場景:
-
開發者不再需要從零開始寫複雜的程式碼,只用幾行配置就能快速搭出一個 AI 驅動的應用。比如,一個程式設計師想做一個“智慧日程助手”,透過 MCP 直接呼叫日曆服務和 AI 模型,半天就能上線。 -
普通使用者甚至都不用會程式設計。就像點外賣一樣,他們只需要在 Claude Desktop 上輸入幾行簡單的指令,比如“幫我買點東西”,AI 就能透過 MCP 連線到購物服務,幾分鐘搞定。 -
服務商也能輕鬆轉型。過去的老牌公司,比如物流商或銀行,只需開放一個標準的 MCP 介面,AI 模型就能直接整合,使用者點點滑鼠就能用上服務,省去了繁瑣的定製開發。
你只需輕聲對 AI 說幾句話,生活中的大小事務便能輕鬆搞定。比如:
-
購物:你說:“幫我買一箱牛奶和一些新鮮水果。” AI 透過 MCP 連線到電商平臺,自動篩選最佳商品、下單、支付,甚至根據你的偏好安排次日送達。 -
健康管理:你說:“我最近睡眠不好。” AI 立刻呼叫健康服務,分析你的睡眠資料,推薦調整作息的建議,或者直接幫你預約睡眠專家。 -
旅行規劃:你說:“我想下個月去義大利玩十天。” AI 會自動搜尋最優機票、預訂特色酒店、規劃經典景點路線,還能根據天氣預報提醒你帶上雨傘。 -
美食體驗:你說:“今晚我想吃中餐,但不想出門。” AI 迅速連線外賣平臺,推薦附近評分最高的中餐廳,幫你點好菜送到家門口。 -
教育與工作:你說:“我需要準備明天的會議PPT。” AI 不僅能整理資料、生成幻燈片,還能根據你的風格潤色內容;學生說:“我不會解二次方程。” AI 則會呼叫教育平臺,提供步驟講解和互動練習。
MCP 就像一個“AI 界的超級聯結器”,把技術門檻拉低,讓每個人都能玩轉智慧生活。
過去,使用軟體需要複雜的下載、安裝和配置,普通使用者常常感到困難。
如今,MCP讓這一切變得簡單,只需幾行配置就能完成。
這些場景的實現,只需與 AI 簡單對話,MCP 就會像一個無形的橋樑,連線起各種服務,讓繁瑣的操作徹底消失。
AI 將成為你的“生活管家”,從日常購物到健康管理、旅行安排、美食享受,再到學習與工作,樣樣都能輕鬆應對。
五、總結
Claude 3.7 Sonnet 和 MCP,標誌著 AI 從單純的對話工具邁向了現實世界的執行者。
它不僅在編碼、推理和任務執行上表現出色,還透過 MCP 這個“AI 萬能介面”,讓開發者快速構建應用,讓普通人輕鬆呼叫服務,甚至讓傳統服務商無縫融入 AI 生態。
技術門檻的降低和功能的增強,正在為我們開啟一個 AI 無處不在的未來…
MCP 可能不是完美的協議,但在大模型時代,它就像 AI 的“萬能插頭”,讓模型能連上現實世界。未來,這種連線方式肯定會越來越聰明,讓更多普通人輕鬆感受到 AI 的強大和便利。
我們平臺正在積極探索面向未來的 AI 場景,想讓 AI 變得更好玩、更實用,大家可以來體驗下我們的平臺…
-
Spark AI 官網:https://aispark.alibaba-inc.com/
-
AI應用搭建平臺:https://appbuilder.alibaba-inc.com/
參考資源:
-
https://www.anthropic.com/news/claude-3-7-sonnet
-
https://www.anthropic.com/claude/sonnet#customer-stories
-
https://assets.anthropic.com/m/785e231869ea8b3b/original/claude-3-7-sonnet-system-card.pdf
-
https://modelcontextprotocol.io/clients
-
https://github.com/modelcontextprotocol/python-sdk
-
mcp.so:社群驅動的平臺,包含 1584 個伺服器,適合發現和分享。
-
glama.ai/mcp/servers:列出 872 個開源 MCP 伺服器,提供詳細資訊。
-
portkey.ai/mcp-servers:列出 42 個 MCP 伺服器,專注於開源領域。
-
GitHub 倉庫:punkpeye/awesome-mcp-servers
構建高效能秒殺系統
秒殺活動因其高流量和使用者參與度,已成為電商平臺的重要營銷方式。本方案詳細介紹如何利用阿里雲產品構建高效能秒殺系統,以實現高併發處理,確保系統穩定和快速響應,從而為使用者提供流暢的搶購體驗。
點選閱讀原文檢視詳情。