MCP服务器工具集

MCP服务器通过Tavily API提供网络搜索、天气查询、房地产投资分析和骰子模拟等功能,适用于AI助手扩展和开发环境集成。

  • by info757
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 info757/MCP_Session

使用说明

AI创客空间:MCP第13场会议代表

该项目是MCP(模型上下文协议)服务器的演示,该服务器利用Tavily API进行网络搜索功能。服务器设计为在标准输入/输出(stdio)传输模式下运行。

项目概述

MCP服务器设置为使用Tavily API处理网络搜索查询。它由以下关键部件组成:

  • TavilyClient:用于与Tavily API交互以执行网络搜索的客户端。

先决条件

  • Python 3.13或更高版本
  • 有效的Tavily API密钥

⚠️WINDOWS注意事项:⚠️

您需要在 视窗 操作系统的侧面。

这将需要为Powershell获取两个CLI工具,具体操作如下:

  • winget install astral-sh.uv
  • winget install --id Git.Git -e --source winget

拥有这些CLI工具后,请打开Cursor 进入Windows.

然后,您可以在Cursor终端中使用以下命令克隆存储库:

git clone https://AI-Maker-Space/AIE8-MCP-Session.git

之后,您可以从步骤2开始。在......下面

安装

  1. 克隆存储库:

    git clone <repository-url>
    cd <repository-directory>
    
  2. 配置环境变量: 复制 .env.sample 到 .env 并添加您的Tavily API密钥:

    TAVILY_API_KEY=your_api_key_here
    
  3. 🏗️ 向MCP服务器添加新工具 🏗️

在中创建新工具 server.py 文件,就是这样!

运行MCP服务器

要启动MCP服务器,您需要在Cursor中的MCP配置文件中添加以下内容:

注意:要访问MCP配置。您可以使用命令托盘(CMD/CTRL+SHIFT+P)并选择“查看:打开MCP设置”,然后用下面的JSON blob替换内容。

{
    "mcpServers":  {
        "mcp-server": {
            "command" : "uv",
            "args" : ["--directory", "/PATH/TO/REPOSITORY", "run", "server.py"]
        }
    }
}

服务器将启动并通过标准输入/输出监听命令。

用法

MCP服务器提供以下可供AI助手使用的工具:

  • web_search -使用Tavily API搜索网页
  • get_weather -获取一个城市的当前天气
  • get_weather_forecast -获取多日天气预报
  • calculate_real_estate_dcf -使用DCF指标分析房地产投资
  • roll_dice -用各种符号掷骰子

MCP工具的工作原理

MCP工具旨在在Cursor环境中工作,AI助手可以直接调用它们:

光标内(主要用例)

当你在Cursor中配置了MCP服务器时,AI助手(像我一样)可以直接使用你的工具:

  • 问:“格林斯伯勒的天气怎么样?”→ 我打电话给 get_weather 工具
  • 问:“计算50万美元房产的DCF”→ 我打电话给 calculate_real_estate_dcf 工具
  • 询问:“滚动2d20k1”→ 我打电话给 roll_dice 工具

这就是 预期用例 对于MCP服务器,它们实时扩展了AI助手的功能。

直接测试工具

您可以通过直接调用MCP服务器来测试单个工具:

from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
from langchain_mcp_adapters.tools import load_mcp_tools

# Connect to MCP server and load tools
# Then invoke tools directly with parameters

工具调用示例

天气工具:

Query: "What's the weather in Greensboro?"
Tool: get_weather(city="Greensboro", units="imperial")
Result: Real-time weather data including temperature, conditions, humidity, wind

DCF计算器工具:

Query: "Analyze a $750k real estate investment"
Tool: calculate_real_estate_dcf(initial_investment=750000, annual_cash_flow=60000, years=15, discount_rate=0.07)
Result: NPV and IRR analysis with investment recommendations

骰子滚轮工具:

Query: "Roll 2d20 and keep the highest"
Tool: roll_dice(notation="2d20k1", num_rolls=1)
Result: Dice roll results with kept values

已完成的活动✅

✅ 活动#1:带Weather API的MCP服务器

完整的: 使用5个工具构建MCP服务器:

  1. 天气API集成 (OpenWeatherMap)

    • get_weather -任何城市的当前天气
    • get_weather_forecast -多日天气预报
  2. 房地产DCF计算器

    • calculate_real_estate_dcf -投资的净现值和内部收益率分析
  3. 摇骰子

    • roll_dice -用各种符号掷骰子(例如2d20k1)
  4. 网页搜索

    • web_search -使用Tavily API搜索网页

文件夹:

  • server.py -主MCP服务器,配备所有5个工具
  • weather_api.py -OpenWeatherMap API集成
  • real_estate_dcf.py -带NPV/IRR的DCF计算器
  • dice_roller.py -骰子滚动逻辑

✅ 活动#2:LangGraph+MCP集成

完整的: MCP工具已集成并在Cursor环境中工作。

它是如何工作的:

  • MCP服务器通过Cursor中的stdio传输运行
  • Cursor中的AI助手可以访问所有5个工具
  • 基于自然语言查询调用工具
  • 本次对话展示了整合的实际效果

集成架构:

  • MCP服务器(server.py)通过模型上下文协议公开工具
  • Cursor的AI自动连接到MCP服务器
  • LangChain MCP适配器实现无缝工具集成
  • 工具使用真实数据(天气、计算等)进行响应

演示: 您可以通过要求Cursor执行以下操作来测试集成:

  • 获取天气信息
  • 计算房地产DCF
  • 掷骰子
  • 搜索网页

这些工具将被自动调用并返回真实结果。