MCP项目集合

一个包含多个初学者友好的Model Context Protocol (MCP)服务器的集合,用于学习和实验。

  • by Samankhalid01
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Samankhalid01/mcp_projects

使用说明

🚀 MCP项目集合

适合初学者的集合 模型上下文协议(MCP) 用于学习和实验的服务器。

📦 项目包括

🌤️ 天气服务器

使用美国国家气象局API实时天气预报和警报。

  • 不需要API密钥
  • 获取美国任何州的天气警报
  • 按坐标详细预测

→ 查看天气服务器

🔢 计算器服务器

简单的数学运算-非常适合学习MCP基础知识。

  • 基本操作:加、减、乘、除
  • 高级:功率,模数
  • 零分割保护

→ 查看计算器服务器

📁 文件系统服务器

通过路径验证保护文件操作。

  • 读/写文件
  • 创建/删除目录
  • 文件信息和元数据
  • 安全性:仅限于允许的目录

→ 查看文件系统服务器

🧠 内存服务器

跨AI会话的持久内存/笔记存储。

  • 存储和检索笔记
  • 基于标签的组织
  • 全文搜索
  • 跨会话持久性

→ 查看内存服务器

🎯 学习路径

从这里开始为初学者:

  1. 计算器服务器 -最简单,无外部依赖
  2. 天气服务器 -学习API集成
  3. 文件系统服务器 -了解I/O和安全
  4. 内存服务器 -掌握持久性和数据管理

⚡ 快速开始

先决条件

安装

# Install uv (if not already installed)
# Windows PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# Clone this repository
git clone https://github.com/Samankhalid01/mcp_projects.git
cd mcp_projects

# Install dependencies for a specific project (example: calculator)
cd calculator_server
uv add "mcp[cli]"

# Test the server
uv run calculator.py

使用Claude Desktop进行配置

  1. 打开/创建配置文件:

    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 添加服务器配置:

{
  "mcpServers": {
    "calculator": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/mcp_projects/calculator_server",
        "run",
        "calculator.py"
      ]
    }
  }
}
  1. 重新启动克劳德桌面

  2. 查找MCP工具指示灯(🔨 或🔌) 在克劳德桌面

📖 文档

每个项目都有自己的详细自述文件:

🛠️ 使用的技术

  • Python 3.11+ -程序设计语言
  • FastMCP -MCP服务器框架
  • httpx -异步HTTP客户端(天气服务器)
  • 紫外线 -快速Python包管理器

🎓 你将学到什么

  • ✅ 使用FastMCP构建MCP服务器
  • ✅ 工具装饰和登记
  • ✅ 键入提示和文档
  • ✅ 错误处理和验证
  • ✅ 使用外部API
  • ✅ 文件I/O和安全
  • ✅ 持久数据存储
  • ✅ 异步/等待模式

📁 项目结构

mcp_projects/
├── calculator_server/      # Math operations
│   ├── calculator.py
│   ├── pyproject.toml
│   └── README.md
├── weather_server/          # Weather data
│   ├── weather.py
│   ├── pyproject.toml
│   └── README.md
├── file_system_server/      # File operations
│   ├── file_system.py
│   ├── pyproject.toml
│   └── README.md
├── memory_server/           # Note storage
│   ├── memory_server.py
│   ├── pyproject.toml
│   └── README.md
└── README.md                # This file

🔐 安全注意事项

  • 文件系统服务器: 仅访问配置目录中的文件
  • 天气服务器: 使用免费的公共NWS API(无身份验证)
  • 内存服务器: 以JSON格式在本地存储数据
  • 切勿将敏感数据或API密钥提交到版本控制

🚧 扩展这些项目

每个项目在其自述文件中都包含“扩展想法”。一些建议:

计算器:

  • 添加三角函数
  • 统计操作
  • 单位换算

天气:

  • 为重复请求添加缓存
  • 支持多个天气提供商
  • 历史天气数据

文件系统:

  • 添加文件压缩
  • 实现文件搜索
  • 支持二进制文件

内存:

  • 添加截止日期和提醒
  • 导出到Markdown/CSV
  • 实施归档功能

🤝 贡献

请随意分叉此存储库并添加您自己的MCP服务器或改进!

📚 资源

📄 许可证

免费用于学习目的。

👤 作者

由...创建 萨曼·哈立德


快乐学习! 🎉

如果你觉得这些项目有帮助,请⭐ 将此存储库星化!