dify插件接入fastmcp示例

文章目錄

  • 1. 使用python完成mcp服務
    • 1.1 準備環境(python安裝fastmcp)
    • 1.2 `mcp`服務端示例代碼
    • 1.3 啟動`mcp`服務端
  • 2. `dify`接入
    • 2.1 安裝`MCP SSE`和` Agent 策略(支持 MCP 工具) `插件
    • 2.2 dify agent插件配置mcp:
    • 2.3 mcp服務配置:
    • 2.4 添加授權
    • 2.5 點擊運行

1. 使用python完成mcp服務

1.1 準備環境(python安裝fastmcp)

fastmcp官方文檔:https://modelcontextprotocol.io/introduction

uv add fastmcp

1.2 mcp服務端示例代碼

#!/usr/bin/env python 
# coding: utf-8
from mcp.server.fastmcp import FastMCP# name: 是服務器的標識符或名稱,用于區分不同的 MCP 服務器
# instructions:服務器描述,用于日志、文檔和客戶端展示
mcp = FastMCP("mcp_server_demo", "mcp server example", port=8095)@mcp.tool("sum of two numbers", "計算兩數之和")
def add(a: int, b: int) -> int:"""sum of two numbersmcp.tool注冊工具函數add,工具是模型可以調用的功能,由服務器暴露給客戶端或語言模型:param a::param b::return:"""print(f"計算兩數之和a:{a}, b:{b}")return a + bif __name__ == '__main__':# mcp: Model Context Protocol,模型上下文協議# 啟動mcp服務器, transport=stdio(指定通信方式為標準輸入輸出),sse(Server-Sent Events。單向通信,基于HTTP協議的服務器推送技術)mcp.run(transport="sse")

1.3 啟動mcp服務端

# Using the FastMCP CLI
fastmcp run server.py# Or with Python/uv directly
python server.py
uv run python server.py# need node.js to launches a web interface
fastmcp dev server.py

sse方式示例:

(test-uv) (base) pywcc@wcc:~/test_uv$ uv run mcp_demo.py
INFO:     Started server process [15248]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8095 (Press CTRL+C to quit)

2. dify接入

2.1 安裝MCP SSEAgent 策略(支持 MCP 工具)插件

https://marketplace.dify.ai/plugins/junjiem/mcp_see_agent?language=zh-Hans

https://marketplace.dify.ai/plugins/junjiem/mcp_sse?language=zh-Hans

應用市場:https://marketplace.dify.ai/

下載插件:
在這里插入圖片描述
離線安裝插件:
在這里插入圖片描述

2.2 dify agent插件配置mcp:

在這里插入圖片描述
在這里插入圖片描述

2.3 mcp服務配置:

# 示例
{"server_name1": {"url": "http://host.docker.internal:8095/sse","headers": {},"timeout": 60,"sse_read_timeout": 300},"server_name2": {"url": "http://host.docker.internal:8095/sse"}
}# 單個mcp server
{"mcp_server_demo":{"url":"http://host.docker.internal:8095/sse","headers": {},"timeout": 60,"sse_read_timeout": 300}}

2.4 添加授權

在這里插入圖片描述
指令:

你是一個工具助手,支持mcp協議獲取可用工具,并執行工具調用。

2.5 點擊運行

mcp服務端日志:

[05/10/25 18:58:21] INFO     Processing request of type            server.py:534ListToolsRequest                                   
[05/10/25 19:02:26] INFO     Processing request of type            server.py:534ListToolsRequest                                   INFO     Processing request of type            server.py:534CallToolRequest                                    
INFO:     127.0.0.1:33780 - "GET /sse HTTP/1.1" 200 OK
INFO:     127.0.0.1:33788 - "POST /messages/?session_id=dc23ee63234e4e38a85415f65796e608 HTTP/1.1" 202 Accepted
INFO:     127.0.0.1:33788 - "POST /messages/?session_id=dc23ee63234e4e38a85415f65796e608 HTTP/1.1" 202 Accepted
INFO:     127.0.0.1:33788 - "POST /messages/?session_id=dc23ee63234e4e38a85415f65796e608 HTTP/1.1" 202 Accepted
INFO:     127.0.0.1:33788 - "POST /messages/?session_id=dc23ee63234e4e38a85415f65796e608 HTTP/1.1" 202 Accepted
計算兩數之和a:1, b:2

運行結果:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/80466.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/80466.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/80466.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux 挖礦木馬排查命令清單

Linux 挖礦木馬排查命令清單 1. 系統資源使用情況檢查 # 查看CPU、內存使用情況 top -c# 檢查CPU占用最高的進程 ps aux --sort-%cpu# 查找可疑進程名 ps -ef | grep -i miner\|cpu\|GPU\|xmr# 檢查網絡連接情況 lsof -i2. 可疑進程和隱藏進程檢查 # 檢查僵尸進程 ps -ef | …

PyTorch 中如何針對 GPU 和 TPU 使用不同的處理方式

一個簡單的矩陣乘法例子來演示在 PyTorch 中如何針對 GPU 和 TPU 使用不同的處理方式。 這個例子會展示核心的區別在于如何獲取和指定計算設備,以及(對于 TPU)可能需要額外的庫和同步操作。 示例代碼: import torch import tim…

自主shell命令行解釋器

目標 能處理普通命令能處理內建命令 實現原理 用下面的時間軸來表示時間發生次序。時間從左向右。shell由標識為sh的方塊,它隨著時間從左向右移動。 shell從用戶讀入字符串“ls”。shell建立一個新的進程,然后等待進程中運行ls程序并等待進程結束。 …

如何在sheel中運行Spark

啟動hdfs集群,打開hadoop100:9870,在wcinput目錄下上傳一個包含很多個單詞的文本文件。 啟動之后在spark-shell中寫代碼。 // 讀取文件,得到RDD val rdd1 sc.textFile("hdfs://hadoop100:8020/wcinput/words.txt") // 將單詞進行切…

【入門】數字走向II

描述 輸入整數N&#xff0c;輸出相應方陣。 輸入描述 一個整數N。&#xff08; 0 < n < 10 ) 輸出描述 一個方陣&#xff0c;每個數字的場寬為3。 #include <bits/stdc.h> using namespace std; int main() {int n;cin>>n;for(int in;i>1;i--){for(…

Python自動化-python基礎(下)

六、帶參數的裝飾器 七、函數生成器 運行結果&#xff1a; 八、通過反射操作對象方法 1.添加和覆蓋對象方法 2.刪除對象方法 通過使用內建函數: delattr() # 刪除 x.a() print("通過反射刪除之后") delattr(x, "a") x.a()3 通過反射判斷對象是否有指定…

重新定義高性能:Hyperlane —— Rust生態中的極速HTTP服務器

重新定義高性能&#xff1a;Hyperlane —— Rust生態中的極速HTTP服務器 &#x1f680; 為什么選擇Hyperlane&#xff1f; 在追求極致性能的Web服務開發領域&#xff0c;Hyperlane 憑借其獨特的Rust基因和架構設計&#xff0c;在最新基準測試中展現出令人驚艷的表現&#xff…

通俗的理解MFC消息機制

1. 消息是什么&#xff1f; 想象你家的門鈴響了&#xff08;比如有人按門鈴、敲門、或者有快遞&#xff09;&#xff0c;這些都是“消息”。 在 MFC 中&#xff0c;消息就是系統或用戶觸發的各種事件&#xff0c;比如鼠標點擊&#xff08;WM_LBUTTONDOWN&#xff09;、鍵盤輸入…

騰訊開源SuperSonic:AI+BI如何重塑制造業數據分析?

目錄 一、四款主流ChatBI產品 二、ChatBI應用案例與實際落地情況 三、SuperSonic底層原理 3.1、Headless?BI 是什么 3.2、S2SQL?是什么 3.3、SuperSonic 平臺架構 四、ChatBI應用細節深挖 五、與現有系統的集成方案 六、部署和安全 七、開源生態、可擴展性與二次開…

AI生成視頻推薦

以下是一些好用的 AI 生成視頻工具&#xff1a; 國內工具 可靈 &#xff1a;支持文本生成視頻、圖片生成視頻&#xff0c;適用于廣告、電影剪輯和短視頻制作&#xff0c;能在 30 秒內生成 6 秒的高清視頻&#xff08;1440p&#xff09;&#xff0c;目前處于免費測試階段。 即…

OrangePi Zero 3學習筆記(Android篇)5 - usbutils編譯(更新lsusb)

目錄 1. Ubuntu中編譯 2. AOSP編譯 3. 去掉原來的配置 3. 打包 4. 驗證lsusb 在Ubuntu中&#xff0c;lsusb的源代碼源自usbutils。而OrangePi Zero 3中lsusb的位置可以看文件H618-Android12-Src/external/toybox/Android.bp&#xff0c; "toys/other/lsusb.c",…

bcm5482 phy 場景總結

1,BCM5482是一款雙端口10/100/1000BASE-T以太網PHY芯片,支持多種速率和雙工模式。其配置主要通過MDIO(Management Data Input/Output)接口進行,MDIO接口用于訪問PHY芯片內部的寄存器,從而配置網絡速率、雙工模式以及其他相關參數。 a,具體以下面兩種場景舉例 2. 寄存器和…

RedHat磁盤的添加和擴容

前情提要 &#x1f9f1; 磁盤結構流程概念圖&#xff1a; 物理磁盤 (/dev/sdX) └── 分區&#xff08;如 /dev/sdX1&#xff09;或整塊磁盤&#xff08;直接使用&#xff09; └── 物理卷 (PV, 用 pvcreate) └── 卷組 (VG, 用 vgcreate) …

Lua—元表(Metatable)

原表解析 在 Lua table 中我們可以訪問對應的 key 來得到 value 值&#xff0c;但是卻無法對兩個 table 進行操作(比如相加)。 因此 Lua 提供了元表(Metatable)&#xff0c;允許我們改變 table 的行為&#xff0c;每個行為關聯了對應的元方法。 setmetatable(table,metatable…

一種運動平臺掃描雷達超分辨成像視場選擇方法——論文閱讀

一種運動平臺掃描雷達超分辨成像視場選擇方法 1. 專利的研究目標與意義1.1 研究目標1.2 實際意義2. 專利的創新方法與技術細節2.1 核心思路與流程2.1.1 方法流程圖2.2 關鍵公式與模型2.2.1 回波卷積模型2.2.2 最大后驗概率(MAP)估計2.2.3 統計約束模型2.2.4 迭代優化公式2.3 …

Listremove數據時報錯:Caused by: java.lang.UnsupportedOperationException

看了二哥的foreach陷阱后&#xff0c;自己也遇見了需要循環刪除元素的情況&#xff0c;立馬想到了當時自己陰差陽錯的避開所有坑的解決方式&#xff1a;先倒序遍歷&#xff0c;再刪除。之前好使&#xff0c;但是這次不好使了&#xff0c;報錯Caused by: java.lang.UnsupportedO…

Ceph集群OSD運維手冊:基礎操作與節點擴縮容實戰

#作者&#xff1a;stackofumbrella 文章目錄 一、Ceph集群的OSD基礎操作查看osd的ID編號查看OSD的詳細信息查看OSD的狀態信息查看OSD的統計信息查看OSD在主機上的存儲信息查看OSD延遲的統計信息查看各個OSD使用率集群暫停接收數據集群取消暫停 OSD寫入權重操作查看默認OSD操作…

PHP框架在分布式系統中的應用!

隨著互聯網業務的快速發展&#xff0c;分布式系統因其高可用性、可擴展性和容錯性成為現代應用架構的主流選擇。而PHP作為一門成熟的Web開發語言&#xff0c;憑借其簡潔的語法、豐富的框架生態和持續的性能優化&#xff0c;逐漸在分布式系統中嶄露頭角。本文將深入探討PHP框架在…

MySQL 索引(一)

文章目錄 索引&#xff08;重點&#xff09;硬件理解磁盤盤片和扇區定位扇區磁盤的隨機訪問和連續訪問 軟件方面的理解建立共識索引的理解 索引&#xff08;重點&#xff09; 索引可以提高數據庫的性能&#xff0c;它的價值&#xff0c;在于提高一個海量數據的檢索速度。 案例…

環境搭建-復現ST-GCN輸出動作分類視頻(win10+openpose1.7.0+VS2019+CMake3.30.1+cuda11.1)

這次我們安裝github.com/yysijie/st-gcn這個作者源碼環境&#xff0c;安裝流程十分復雜這里介紹大體流程。 1.首先編譯openpose的python API接口這個編譯難度較大&#xff0c;具體參考博文&#xff1a;windows編譯openpose及在python中調用_python openpose-CSDN博客 這個博…