模型上下文协议服务器

一个展示多个模型上下文协议(MCP)服务器与AWS Bedrock协同工作的演示项目,包括数学计算、天气信息和网页爬取功能。

  • by n0k0259
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 n0k0259/mcp-server-demo

使用说明

MCP服务器演示

此演示展示了多个与AWS Bedrock协同工作的模型上下文协议(MCP)服务器。

包括服务器

  1. 数学服务器 (mathserver.py)-基本算术运算
  2. 天气服务器 (weather.py)-天气信息(模拟数据)
  3. Firecrawl服务器 (firecrawl_server.py)-网络抓取和爬行功能

设置

  1. 安装依赖项:

    uv install -r requirements.txt
    
  2. 配置环境变量: 创建一个 .env 文件包含:

    # AWS Configuration for Bedrock
    AWS_PROFILE=your-aws-profile-name
    AWS_REGION=us-east-1
    
    # Firecrawl API Key
    FIRECRAWL_API_KEY=your_firecrawl_api_key
    
  3. 设置AWS凭据: 确保您的AWS配置文件已在中配置 ~/.aws/credentials:

    [your-profile-name]
    aws_access_key_id = YOUR_ACCESS_KEY
    aws_secret_access_key = YOUR_SECRET_KEY
    
  4. 获取Firecrawl API密钥:

    • 注册地址: Firecrawl.dev
    • 从仪表板获取API密钥
    • 将其添加到您的 .env 文件

运行演示

选项1:一起运行所有服务器(推荐)

python client.py

选项2:单独运行服务器

  1. 启动天气服务器:

    python weather.py
    
  2. 测试单个服务器:

    # Test math server
    python mathserver.py
    
    # Test firecrawl server
    python run_firecrawl_server.py
    

可用工具

数学服务器

  • add(a, b) -加两个数字
  • multiple(a, b) -将两个数字相乘

天气服务器

  • get_weather(location) -获取某个地点的天气

Firecrawl服务器

  • scrape_url(url, include_tags, exclude_tags) -从URL中删除内容
  • search_web(query, num_results) -搜索网页
  • crawl_website(url, max_pages, include_paths, exclude_paths) -抓取网站
  • extract_structured_data(url, schema) -使用模式提取结构化数据

示例用法

客户端将使用示例查询自动测试所有服务器:

  1. 数学:“什么是(3+5)x 12?”
  2. 天气“加利福尼亚的天气怎么样?”
  3. Firecrawl搜索:“搜索‘Python网络抓取工具’,给我前3个结果”
  4. Firecrawl刮擦:“从中删除内容https://python.org总结一下Python是什么”

建筑

mcp服务器演示