MCP服务套件

包含演示服务、文件管理服务和天气服务的MCP协议服务套件,支持CRUD操作、天气查询和基础演示功能。

  • by fengh0409
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 fengh0409/mcp-server

使用说明

MCP服务配置

此存储库包含三个MCP(模型上下文协议)服务:

  1. 演示服务 -一个简单的MCP服务器,带有问候工具和README资源
  2. 文件管理器服务 -具有CRUD操作的文件管理MCP服务器
  3. 气象局 -使用AMap API的天气信息MCP服务器

目录结构

.
├── demo/                 # Demo MCP service
│   ├── README.md
│   ├── go.mod
│   ├── go.sum
│   └── main.go
├── filemanager/          # FileManager MCP service
│   ├── README.md
│   ├── go.mod
│   ├── go.sum
│   └── main.go
├── weather/              # Weather MCP service
│   ├── README.md
│   ├── go.mod
│   ├── go.sum
│   └── main.go
├── mcp-config.json       # MCP configuration file
├── build.sh              # Build script for all services
└── start.sh              # Start script for running services

设置

  1. 构建服务:

    ./build.sh
    
  2. 配置您的MCP客户端: 使用 mcp-config.json 配置MCP客户端的文件(例如Cline、MCP Inspector)。

服务详细信息

演示服务

  • 名字:演示🚀
  • 版本: 1.0.0
  • 工具:
    • hello_world:向指定人员发送问候
  • 资源:
    • 提供项目的README文件内容

文件管理器服务

  • 名字:文件管理器
  • 版本: 1.0.0
  • 运输:支持stdio和SSE
  • 工具:
    • create_file:创建包含内容的新文件
    • read_file:读取文件内容
    • update_file:更新现有文件的内容
    • delete_file:删除文件
    • list_files:列出目录中的文件

气象局

  • 名字:WeatherServer
  • 版本: 1.0.0
  • 运输:支持标准输入输出
  • 工具:
    • get_current_weather:获取指定城市的当前天气信息
  • 先决条件:需要AMap API密钥(设置为环境变量 AMAP_API_KEY)

用法

使用启动脚本:

# Build all services
./start.sh build

# Start Demo service
./start.sh demo

# Start FileManager service (stdio mode)
./start.sh filemanager

# Start FileManager service (SSE mode on port 8080)
./start.sh filemanager-sse

# Start Weather service
./start.sh weather

手动使用:

  1. 构建每项服务:

    cd demo && go build -o demo-server main.go && cd ..
    cd filemanager && go build -o filemanager main.go && cd ..
    cd weather && go build -o weather-server main.go && cd ..
    
  2. 运行服务:

    # Run Demo service
    ./demo/demo-server
    
    # Run FileManager service (stdio mode)
    ./filemanager/filemanager
    
    # Run FileManager service (SSE mode)
    ./filemanager/filemanager sse
    
    # Run Weather service
    ./weather/weather-server
    

MCP检验员测试:

# Test Demo service
npx @modelcontextprotocol/inspector "./demo/demo-server"

# Test FileManager service
npx @modelcontextprotocol/inspector "./filemanager/filemanager"

# Test Weather service
npx @modelcontextprotocol/inspector "./weather/weather-server"