MCP工具向导
学习人工智能工具设计的艺术:MCP、代理、技能及其他
用于理解模型上下文协议(MCP)、人工智能代理和工具设计模式的交互式教育资源。
包含内容
交互式HTML指南(index.html)
在浏览器中打开以浏览:
- 什么是MCP? -了解工具、资源、提示和采样
- 工具解剖 -如何撰写出色的工具描述(艺术!)
- Spotify示例 -完整的播放列表管理工具
- MCP动物园 -跨领域的大量示例:
- 天气、文件系统、数据库、电子邮件 - 日历、GitHub、智能家居、金融 - 游戏、食谱等等!
- 不同的方法 -MCP与代理、LangChain与技能的比较
- 何时使用What -选择正确方法的决策流程图
- Ollama+MCP设置 -修复了本地模型的工作代码
- 高级模式 -思维链、可组合工具、错误处理
Python文件
spotify_mcp_server.py
Spotify的完整MCP服务器,具有:
- 听力统计
- 年度最佳艺术家/歌曲
- 重复发现
- 播放列表重新排序
- 被忽视的歌曲发现
# Install dependencies
pip install mcp spotipy python-dotenv
# Run the server
python spotify_mcp_server.pyollama_mcp_chat.py
这 固定的 Ollama聊天客户端的版本。原版存在格式问题(双下划线被删除)。
# Make sure Ollama is running
ollama serve
# Pull a model (if needed)
ollama pull qwen3:4b
# Run the chat
python ollama_mcp_chat.py
# Or with a different model
python ollama_mcp_chat.py --model qwen2.5:14b示例配置
examples/mcp_configs/claude_desktop_config.json
Claude Desktop的MCP配置示例,展示了如何连接多台服务器。
examples/mcp_configs/multi_agent_config.json
多代理配置示例显示:
- 编排器模式
- 专业分代理
- 工作流定义
- 安全设置
examples/skills/spotify-organizer.md
Claude Code的技能定义示例显示:
- 触发短语
- 可用工具
- 安全协议
- 工作流程步骤
快速开始
- 打开指南:
open index.html
# or just double-click index.html- 尝试Ollama聊天(需要Ollama):
pip install requests
python ollama_mcp_chat.py- 设置Spotify MCP服务器:
pip install mcp spotipy python-dotenv
# Create .env file with your Spotify credentials
echo "SPOTIFY_CLIENT_ID=your_id" > .env
echo "SPOTIFY_CLIENT_SECRET=your_secret" >> .env
python spotify_mcp_server.py模型建议
对于Ollama的工具调用:
| 型号 | 尺寸 | 工具调用 | 备注 |
|---|---|---|---|
| qwen3:4b | 4b | 好的 | 适用于简单工具 |
| qwen2.5:7b | 7b | 良好 | 平衡良好 |
| qwen2.5:14b | 14b | 太好了 | 最好的工具调用 |
| llama3.1:8b | 8b | 良好 | 可靠的替代方案 |
关键概念
MCP(模型上下文协议)
- 工具:AI可以采取的行动(功能)
- 资源:AI可以读取的数据(文件、API)
- 提示:常见任务的预构建模板
- 采样:双向-服务器可以向AI寻求帮助
工具描述的艺术
良好MCP工具的关键在于 描述.包括:
- 触发短语(“当用户说…时使用”)
- 输入示例
- 输出格式
- 相关工具
- 边缘案例
何时使用What
- 主控程序:跨平台工具,标准化界面
- 代理:复杂的多步骤任务,需要规划
- LangChain:快速原型制作、RAG、链条
- 直接函数调用:简单的集成、学习
您询问的Spotify功能
是的,您可以使用附带的工具完成所有这些操作:
- 按年份分列的歌曲:
top_songs_by_year工具 - 查找重复项:
find_playlist_duplicates工具 - 去除重复项:
remove_duplicates工具 - 重新排序播放列表:
reorder_playlist工具 - 查找被遗忘的歌曲:
find_neglected_songs工具 - 创建前100个播放列表:
create_ranked_playlist工具
注意:完整的收听历史记录需要导出您的Spotify数据(扩展流媒体历史记录),因为API不会公开完整的播放次数。
许可证
麻省理工学院-自由使用,学到很多!
