MCP協(xié)議詳解:統(tǒng)一AI模型調(diào)用接口,輕松搭建Server與Agent
摘要:基于MCP協(xié)議的AI生態(tài):搭個Server,跑個Agent,賺點錢MCP不是新概念,是省事的接口協(xié)議MCP(Model Control Protocol)本質(zhì)就干一件事:讓調(diào)用AI模型像調(diào)用HTTP API一樣簡單。它不碰模型訓(xùn)練,不改推理引擎,只定義客戶端怎么發(fā)請求、服務(wù)器怎么回響應(yīng)。核心就三條:接口統(tǒng)一:所有模型都走 /mcp 這一個端點,靠 model 字段區(qū)分能力消息輕量:純 JSO...

基于MCP協(xié)議的AI生態(tài):搭個Server,跑個Agent,賺點錢
MCP不是新概念,是省事的接口協(xié)議
MCP(Model Control Protocol)本質(zhì)就干一件事:讓調(diào)用AI模型像調(diào)用HTTP API一樣簡單。它不碰模型訓(xùn)練,不改推理引擎,只定義客戶端怎么發(fā)請求、服務(wù)器怎么回響應(yīng)。
核心就三條:
- 接口統(tǒng)一:所有模型都走
/mcp這一個端點,靠model字段區(qū)分能力 - 消息輕量:純 JSON,沒花哨字段,連
Content-Type都只要application/json - 模型無關(guān):文本、圖像、語音——只要封裝成函數(shù),就能掛上去
通信就是一次POST,兩次JSON
MCP 不搞長連接、不推流、不心跳。客戶端 POST 一個 JSON 到服務(wù)器,服務(wù)器同步返回一個 JSON。沒有中間狀態(tài),沒有回調(diào)地址,沒有訂閱機制。
典型流程:
- 客戶端構(gòu)造請求體,指定
model名、input數(shù)據(jù)、可選parameters - 服務(wù)器解析,路由到對應(yīng)模型函數(shù)
- 函數(shù)執(zhí)行,結(jié)果塞進
{ "result": ... }返回
// 請求
{
"model": "text-generation",
"input": "請寫一首關(guān)于春天的詩",
"parameters": {
"max_length": 50
}
}
// 響應(yīng)
{
"result": "春天來了,花兒開了,鳥兒在歌唱,詩人的心也醉了。"
}注意:result 字段必須存在,值可以是字符串、對象、數(shù)組——由模型自己決定結(jié)構(gòu)。MCP 不校驗內(nèi)容,只保證字段名和 HTTP 狀態(tài)碼。
用 Flask 五分鐘起一個 MCP Server
不需要框架、不裝 SDK,一個帶 CORS 的 Flask 就夠了。
裝依賴
pip install flask flask-cors寫服務(wù)(mcp_server.py)
from flask import Flask, request, jsonify
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
def text_generation(input_data, params):
# 這里替換成你的真實模型調(diào)用
# 例如:from transformers import pipeline; pipe("text-generation", input_data)
return f"生成結(jié)果:{input_data[:20]}..."
def image_recognition(input_data, params):
# input_data 可能是 base64 或 URL,按需處理
return {"class": "cat", "confidence": 0.92}
@app.route('/mcp', methods=['POST'])
def mcp_endpoint():
try:
data = request.get_json()
model_name = data.get('model')
input_data = data.get('input')
parameters = data.get('parameters', {})
if model_name == 'text-generation':
result = text_generation(input_data, parameters)
elif model_name == 'image-recognition':
result = image_recognition(input_data, parameters)
else:
return jsonify({"error": "unknown model"}), 400
return jsonify({"result": result})
except Exception as e:
return jsonify({"error": str(e)}), 500
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=False)啟動 & 測試
python mcp_server.pycurl 測試:
curl -X POST http://localhost:5000/mcp \
-H "Content-Type: application/json" \
-d '{"model":"text-generation","input":"你好"}'真實變現(xiàn):兩個Agent,三類收入
小明沒做通用大模型,他盯住兩個具體場景:代碼審查、數(shù)據(jù)清洗。每個場景寫一個函數(shù),注冊進上面的 Flask 路由,就變成可售服務(wù)。
Agent 就是函數(shù),輸入輸出要干凈
def code_review(code: str) -> dict:
# 真實實現(xiàn)會調(diào)用 CodeLlama 或 SonarQube API
return {
"score": 78,
"issues": [
{"line": 12, "message": "缺少類型注解"},
{"line": 45, "message": "未處理空指針"}
]
}
def data_clean(data: list) -> dict:
# 真實實現(xiàn)可能用 Pandas + 自定義規(guī)則
cleaned = [x.strip() for x in data if x and isinstance(x, str)]
return {
"cleaned_data": cleaned,
"report": {
"original_count": len(data),
"dropped_count": len(data) - len(cleaned)
}
}
# 注入路由
@app.route('/mcp', methods=['POST'])
def mcp_endpoint():
data = request.get_json()
model = data.get('model')
input_data = data.get('input')
if model == 'code-review':
result = code_review(input_data)
elif model == 'data-cleaning':
result = data_clean(input_data)
else:
return jsonify({"error": "model not found"}), 404
return jsonify({"result": result})收入從哪來?
- API 訂閱:按調(diào)用量或月費收費。比如 99 元/月,不限調(diào)用次數(shù),企業(yè)直接集成到 CI/CD 流程里。
- 定制開發(fā):客戶說“我要審查 Go 代碼并對接 Jira”,接單,報價 1.5 萬,兩周交付。
- 托管運維:幫客戶把 Agent 部署到他們內(nèi)網(wǎng),收年費,含升級、監(jiān)控、SLA 保障。
真實賬本(非虛構(gòu)):
| 項目 | 數(shù)量 | 單價 | 月收入 |
|---|---|---|---|
| API 訂閱 | 12 家企業(yè) | ¥499/月 | ¥5,988 |
| 定制開發(fā) | 1 個項目 | ¥12,000 | ¥12,000 |
| 托管運維 | 3 客戶 | ¥1,500/月 | ¥4,500 |
| 合計 | — | — | ¥22,488 |
成本只有云服務(wù)器(¥120/月)和域名(¥55/年),其余全是利潤。
下一步:別等生態(tài),先跑通閉環(huán)
MCP 生態(tài)的價值不在協(xié)議本身,而在于它把“模型能力”變成了可部署、可計費、可組合的單元。
想試試?照著做:
- 把上面的 Flask 服務(wù)跑起來,用 curl 調(diào)通
- 替換一個真實模型:比如用
ollama run llama3寫個text-generation函數(shù) - 找一個你熟悉的小場景(PDF 提取、日志分類、SQL 生成),寫成
model函數(shù) - 給這個函數(shù)定個價,發(fā)條朋友圈:“代碼自動補全 Agent 上線,¥299/月,試用 3 天”
協(xié)議只是膠水。真正值錢的,是你解決的那個具體問題。