多功能工具服务器

一个基于FastMCP构建的模型上下文协议服务器,提供时间日期、天气查询、文件操作、搜索分析、系统操作等多种实用工具。

  • by rt0120-Ramco
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 rt0120-Ramco/mcp-py

使用说明

FastMCP 多功能工具服务器

一个使用FastMCP构建的全面模型上下文协议(MCP)服务器,提供了多种实用工具。

特点/特性

此MCP服务器包含以下工具:

🕒 日期与时间

  • 获取当前时间获取当前日期和时间

🌤️ 天气

  • 获取天气信息获取任意城市的天气信息(需要OpenWeatherMap API密钥)

📁 文件操作

  • 创建文件创建包含指定内容的新文件
  • 读取文件从现有文件中读取内容
  • 列出目录列出目录内容
  • 创建临时文件创建临时文件

🔍 搜索与分析

  • 搜索文件在目录中的文件内搜索文本模式
  • 计算表达式安全地评估数学表达式

💻 系统操作

  • 执行命令安全地执行Shell命令(带有安全限制)
  • 获取系统信息获取详细的系统信息(CPU、内存、磁盘使用情况)

安装

快速设置

Windows:

scripts\build.bat

Linux/macOS:

chmod +x scripts/build.sh && scripts/build.sh

跨平台(Python):

python scripts/build.py

手动安装

  1. 安装Python依赖项:
pip install -r requirements.txt
  1. (可选)配置环境变量:
# Copy the example environment file
cp .env.example .env

# Edit .env and add your OpenWeatherMap API key if needed

使用方法

运行服务器

运行MCP服务器:

python server.py

服务器将启动并监听MCP连接。

与Claude Desktop的配置

要在Claude Desktop中使用此服务器,请将以下配置添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "multi-tool-server": {
      "command": "python",
      "args": ["C:/github/mcp-py/server.py"],
      "cwd": "C:/github/mcp-py"
    }
  }
}

注更新路径以匹配您的实际安装目录。

配置文件位置

Claude Desktop 的配置文件通常位于:

  • Windows: %APPDATA%/Claude/claude_desktop_config.json
  • macOS(发音:/ˈmækɒs/ 或 /ˈmækəs/,中文常直接称为“麦奥斯”或保留原英文名): ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux(发音类似“林克斯”,但通常直接音译为“Linux”): ~/.config/Claude/claude_desktop_config.json

工具示例

文件操作

# Create a new file
create_file("./example.txt", "Hello, World!")

# Read a file
read_file("./example.txt")

# List directory contents
list_directory("./")

天气信息

# Get weather for a city (requires API key)
get_weather("London")

数学计算

# Calculate mathematical expressions
calculate_expression("2 + 2 * 3")
calculate_expression("sqrt(16) + pow(2, 3)")

文件搜索

# Search for text in Python files
search_files("./", "import", ".py")

系统信息

# Get system details
get_system_info()

命令执行

# Execute safe commands
execute_command("echo Hello World")
execute_command("ls -la", "/tmp")  # Unix
execute_command("dir", "C:\\")     # Windows

安全特性

  • 命令过滤危险命令被自动阻止
  • 安全表达式求值数学表达式在安全环境中进行评估
  • 超时保护命令有30秒的超时限制
  • 路径验证文件操作验证路径以防止未经授权的访问

环境变量

  • OPENWEATHER_API_KEY您的OpenWeatherMap天气功能API密钥
  • MCP_SERVER_NAME自定义服务器名称(可选)
  • MCP_SERVER_VERSION服务器版本(可选)

依赖项

  • fastmcp用于MCP服务器开发的FastMCP框架
  • requests用于API调用的HTTP库
  • python-dotenv环境变量管理
  • pydantic数据验证和设置管理
  • psutil系统和进程实用程序

故障排除

常见问题

  1. 导入错误确保所有依赖项都已安装:

    pip install -r requirements.txt
    
  2. 天气工具无法正常工作确保您已在(设置中)配置了有效的OpenWeatherMap API密钥 .env 文件。

  3. 权限错误确保服务器对您尝试执行的操作具有适当的文件系统权限。

  4. 命令执行失败出于安全原因,某些命令可能会被阻止。请检查错误信息以获取详细信息。

发展

为这台服务器扩展更多工具:

  1. 使用(该方法/工具)添加新的工具功能 @mcp.tool() 装饰器
  2. 遵循现有的错误处理和返回格式模式
  3. 更新此README文件,添加新工具的文档说明

许可证

这个项目是开源的。请随意根据您的需求进行修改和分发。