MCP协议工具集成

一个围绕FastMCP构建的MCP(Model Context Protocol)生态系统,提供工具集成和LLM(如Gemini)交互功能,适用于本地测试和开发。

  • by coskun45
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 coskun45/mcp

使用说明

MCP教程

概述

该存储库演示了一个围绕FastMCP构建的小型MCP(模型上下文协议)生态系统。它包含一个示例MCP服务器公开工具(arXiv获取、抽象检索、保存标记)和示例客户端:一个简单的FastMCP客户端和一个Google Gemini集成代理。该代码旨在作为本地运行和测试MCP服务器、将其与LLM(Gemini)集成以及使用MCP检查器进行交互式探索的实用教程和参考。

要点:

  • 服务器使用 fastmcp 库来定义和公开工具。
  • 客户端示例展示了如何以编程方式调用工具,以及如何将LLM(Gemini)附加到MCP工具。
  • 包括用于容器化测试的Docker就绪服务器和代理示例。

快速启动

  1. 克隆和安装依赖关系:

    git clone https://github.com/kmkarakaya/mcp_tutorial.git; cd mcp_tutorial
    pip install -r requirements.txt
    
  2. 启动MCP服务器(本地):

    python 4_mcp_server.py
    

    服务器公开工具并监听客户端连接(FastMCP提供的默认行为)。

用法和示例

  • 使用官方MCP Inspector检查可用工具(需要安装Node.js和npm或Corepack):

    npx @modelcontextprotocol/inspector
    

    注: npx 附带npm(或在较新的Node版本上使用Corepack)。从以下位置安装Node.jshttps://nodejs.org/如果你没有 node/npm 在您的系统上。

  • 运行示例客户端以编程方式调用工具:

    python 5_mcp_client.py
    
  • 启动一个基于Gemini的交互式代理,该代理可以调用MCP工具(需要Google GenAI凭据):

    python 6_mcp_gemini_agent.py
    

    使用Gemini代理时,请按照以下步骤设置环境变量 google-genai 文档(例如。, GOOGLE_API_KEY 或等效物)。

码头工人

包括Dockerfiles/examples。构建/运行示例:

docker build -t mcp_server .
docker run -p 8000:8000 mcp_server

服务器中实现的工具

  • fetch_arxiv_papers(topic: str, number_of_papers: int = 3) --检索arXiv最近发表的某个主题的论文。
  • get_arxiv_abstract(arxiv_id: str) --检索arXiv论文摘要。
  • save_md_to_file(text: str, filename: str) --将给定的markdown保存到 ./reports.

依赖项

看 requirements.txt.重要包裹:

  • fastmcp
  • 谷歌genai(用于双子座集成)
  • uvicorn(如果您通过ASGI运行服务器)

备注

  • 服务器文件(4_mcp_server.py)调用函数时打印有用消息,并包含 mcp.run() 入口点。
  • 使用MCP检查器验证工具元数据,并尝试交互式调用。

Murat Karakaya Akademi YouTube频道上提供了完整的视频教程和存储库演练(实时录制):https://youtube.com/live/c7yl0GS2mJQ?feature=share

作者

穆拉特·卡拉卡亚
网站
领英
油管

致谢

基于MCP的工作和实例;感谢Anthropic、OpenAI和MCP生态系统的贡献者。