使用说明
🚀 MCP项目集合
适合初学者的集合 模型上下文协议(MCP) 用于学习和实验的服务器。
📦 项目包括
🌤️ 天气服务器
使用美国国家气象局API实时天气预报和警报。
- 不需要API密钥
- 获取美国任何州的天气警报
- 按坐标详细预测
🔢 计算器服务器
简单的数学运算-非常适合学习MCP基础知识。
- 基本操作:加、减、乘、除
- 高级:功率,模数
- 零分割保护
📁 文件系统服务器
通过路径验证保护文件操作。
- 读/写文件
- 创建/删除目录
- 文件信息和元数据
- 安全性:仅限于允许的目录
🧠 内存服务器
跨AI会话的持久内存/笔记存储。
- 存储和检索笔记
- 基于标签的组织
- 全文搜索
- 跨会话持久性
🎯 学习路径
从这里开始为初学者:
- 计算器服务器 -最简单,无外部依赖
- 天气服务器 -学习API集成
- 文件系统服务器 -了解I/O和安全
- 内存服务器 -掌握持久性和数据管理
⚡ 快速开始
先决条件
- Python 3.11+
- uv包管理器
安装
# 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进行配置
-
打开/创建配置文件:
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- 窗户:
-
添加服务器配置:
{
"mcpServers": {
"calculator": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/mcp_projects/calculator_server",
"run",
"calculator.py"
]
}
}
}
-
重新启动克劳德桌面
-
查找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服务器或改进!
📚 资源
📄 许可证
免费用于学习目的。
👤 作者
由...创建 萨曼·哈立德
快乐学习! 🎉
如果你觉得这些项目有帮助,请⭐ 将此存储库星化!