🧠 Model Context Protocol (MCP)

🧠 Model Context Protocol (MCP)

好的,这是使用 Langchain MCP Adapters 和 Ollama 实现 MCP 的演示: **标题:使用 Langchain MCP Adapters 和 Ollama 实现 MCP 的演示** **简介:** 本演示展示了如何使用 Langchain MCP Adapters 和 Ollama 来实现 MCP(多通道处理)。MCP 是一种技术,它允许您使用多个通道(例如,文本、图像、音频)来处理数据。这可以提高准确性和效率。 **先决条件:** * 已安装 Python 3.7 或更高版本 * 已安装 Langchain * 已安装 Ollama * 已安装 Langchain MCP Adapters **安装:** ```bash pip install langchain pip install ollama pip install langchain-mcp-adapters ``` **代码:** ```python from langchain_mcp_adapters import MultiChannelProcessor from langchain.llms import Ollama from langchain.chains import LLMChain from langchain.prompts import PromptTemplate # 1. 定义你的通道。 # 在这个例子中,我们将使用两个通道:文本和图像。 channels = [ { "name": "text", "type": "text", }, { "name": "image", "type": "image", }, ] # 2. 创建一个多通道处理器。 mcp = MultiChannelProcessor(channels=channels) # 3. 定义你的提示模板。 # 这个提示模板将用于处理文本通道。 text_prompt_template = """ 你是一个有用的助手。 请回答以下问题: {question} """ text_prompt = PromptTemplate( input_variables=["question"], template=text_prompt_template, ) # 4. 定义你的语言模型。 # 在这个例子中,我们将使用 Ollama。 llm = Ollama(model="llama2") # 5. 创建一个 LLM 链。 text_chain = LLMChain(llm=llm, prompt=text_prompt) # 6. 将 LLM 链添加到多通道处理器。 mcp.add_channel("text", text_chain) # 7. 定义一个函数来处理图像通道。 def image_processor(image_path): """ 这个函数将处理图像通道。 Args: image_path: 图像的路径。 Returns: 图像的描述。 """ # 在这里,你可以使用任何图像处理库来处理图像。 # 在这个例子中,我们将使用 PIL 库。 from PIL import Image import pytesseract # 打开图像。 image = Image.open(image_path) # 使用 pytesseract 来提取图像中的文本。 text = pytesseract.image_to_string(image) # 返回图像的描述。 return text # 8. 将图像处理器添加到多通道处理器。 mcp.add_channel("image", image_processor) # 9. 创建一个输入。 input_data = { "text": { "question": "什么是 Langchain?", }, "image": { "image_path": "image.png", }, } # 10. 处理输入。 output = mcp.process(input_data) # 11. 打印输出。 print(output) ``` **解释:** 1. **定义通道:** 首先,我们定义了两个通道:文本和图像。每个通道都有一个名称和一个类型。 2. **创建多通道处理器:** 接下来,我们创建了一个多通道处理器。多通道处理器负责处理来自不同通道的数据。 3. **定义提示模板:** 我们定义了一个提示模板,用于处理文本通道。提示模板是一个字符串,它包含一个或多个占位符。占位符将被输入数据替换。 4. **定义语言模型:** 我们定义了一个语言模型。语言模型是一个可以生成文本的模型。在这个例子中,我们使用 Ollama。 5. **创建 LLM 链:** 我们创建了一个 LLM 链。LLM 链是一个将提示模板和语言模型连接在一起的链。 6. **将 LLM 链添加到多通道处理器:** 我们将 LLM 链添加到多通道处理器。这告诉多通道处理器使用 LLM 链来处理文本通道。 7. **定义图像处理器:** 我们定义了一个图像处理器。图像处理器是一个可以处理图像的函数。 8. **将图像处理器添加到多通道处理器:** 我们将图像处理器添加到多通道处理器。这告诉多通道处理器使用图像处理器来处理图像通道。 9. **创建输入:** 我们创建了一个输入。输入是一个字典,它包含每个通道的数据。 10. **处理输入:** 我们处理输入。多通道处理器将使用 LLM 链和图像处理器来处理输入数据。 11. **打印输出:** 我们打印输出。输出是一个字典,它包含每个通道的处理结果。 **结论:** 本演示展示了如何使用 Langchain MCP Adapters 和 Ollama 来实现 MCP。MCP 是一种强大的技术,它可以提高准确性和效率。 **注意:** * 您需要将 `image.png` 替换为实际的图像文件。 * 您需要根据您的需要修改提示模板和图像处理器。 * 您可以使用任何语言模型来代替 Ollama。 希望这个演示对您有所帮助!

Ginga1402

研究与数据
访问服务器

README

🧠 模型上下文协议 (MCP)

一个开源标准,用于将大型语言模型 (LLM) 与外部世界(数据库、API、服务等)无缝连接。


🌐 什么是 MCP?

模型上下文协议 (MCP) 是一种新的开源协议,旨在通过使 LLM 能够与外部工具、服务和数据源交互来增强 LLM 的能力。 MCP 充当翻译层,允许模型以标准化、可扩展和可伸缩的方式与 API、数据库和其他服务进行交互。


🚨 问题

LLM 仅凭自身无法执行现实世界的任务——它们只能生成文本。 为了构建强大的 AI 助手,我们需要将它们与以下工具集成:

  • 电子邮件服务
  • 搜索 API
  • 数据库
  • 自定义脚本

但是集成多个工具很困难。 API 差异很大,维护令人头疼,并且可伸缩性很痛苦。


✅ MCP 作为解决方案

MCP 提供了一个标准化接口,可以抽象出工具集成的复杂性。 类似于 REST 如何标准化 Web 服务,MCP 标准化了 LLM 与工具的对话方式——使集成更简洁、更容易且面向未来。


🔮 为什么选择 MCP?

MCP 帮助您在 LLM 之上构建代理和复杂的工作流程。 LLM 经常需要与数据和工具集成,而 MCP 提供:

  1. 越来越多的预构建集成列表,您的 LLM 可以直接插入
  2. 可以在 LLM 提供商和供应商之间切换的灵活性
  3. 在您的基础设施中保护数据的最佳实践

🧩 架构 & 组件

| 组件 | 描述

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python