Ravelry MCP服务器
一个模型上下文协议(MCP)服务器,提供与Ravelry API交互的工具,允许人工智能助手搜索、探索和检索编织和钩针图案。
 ](https://nodejs.org/)
🌟 概述
该MCP服务器包装了Ravelry API,以创建可供人工智能助手使用的可靠接口。它提供了以下工具:
- 搜索针织和钩针图案
- 获取详细的图案信息
- 一次检索多个图案细节
这个项目的灵感来自我的女朋友,她对编织和钩针编织的热情鼓励我在人工智能助手和Ravelry手工制作社区之间建立这座桥梁。由于她不是很精通技术,对人工智能也有点怀疑,这是我与她的兴趣联系的方式,并展示了技术如何增强她的制作体验,而不是取代它。
🚀 特性
- 🔍 模式搜索:使用关键字和过滤器搜索Ravelry的模式数据库
- 📋 图案细节:获取有关特定模式的全面信息
- 🧶 工艺过滤:按工艺类型(针织或钩编)过滤图案
- 💰 价格选项:按可用性过滤模式(免费、付费等)
- 🤖 AI助手集成:旨在通过模型上下文协议与人工智能助手协同工作
📋 先决条件
- Node.js(v14或更高版本)
- npm或纱线
- Ravelry API凭据(用户名和密码)
🔧 安装
- 克隆存储库
git clone
cd ravelry-mcp- 安装依赖项
npm install- 设置环境变量
# Create development environment file
cp .env.example .env.development
# Create production environment file
cp .env.example .env.production- 配置API凭据
- 获取您的Ravelry用户名和密码 - 将您的凭据添加到两者 .env.development 和 .env.production 文件夹:
AUTH_USER=your_ravelry_username
AUTH_PASS=your_ravelry_password🎮 用法
发展模式
npm run dev这将以热重新加载的方式启动处于开发模式的MCP服务器。
生产模式
npm run build
npm start或者使用简写:
npm run prod🔗 与Claude Desktop集成
要将此MCP服务器添加到Claude Desktop并启用Ravelry浏览功能:
- 启动MCP服务器
确保您的服务器在本地或Claude Desktop可以访问的远程主机上运行。
- 打开克劳德桌面设置
- 启动克劳德桌面 - 点击右上角的个人资料图片或图标 - 从下拉菜单中选择“设置”
- 导航到扩展设置
- 在设置侧栏中,单击“扩展” - 选择“添加自定义MCP”
4.1 配置MCP连接
- 姓名:
Ravelry MCP(或您喜欢的任何名称) - URL:输入您的MCP服务器正在运行的URL(例如。,
http://localhost:3000地方发展) - 点击“添加MCP”
4.2 替代方案:通过命令配置MCP连接
- 您首先需要构建项目,并提供编译服务器的完整路径
- 将以下内容添加到您的Claude Desktop配置中:
"ravelry": {
"command": "node",
"args": [
"YOUR_CUSTOM_PATH/dist/index.js"
]
}- 启用MCP
- 切换新添加的Ravelry MCP旁边的开关以启用它 - Claude Desktop将尝试连接到您的MCP服务器
- 验证连接
- 与克劳德开始新的对话 - 键入“你能帮我在Ravelry上找到一些针织图案吗?” - Claude现在应该能够使用Ravelry工具来搜索和浏览模式
- 故障排除
- 如果Claude无法连接到您的MCP服务器,请检查: - 服务器正在运行,可以从Claude Desktop访问 - 在Claude Desktop设置中配置了正确的URL - 您的API凭据有效,并且已在服务器中正确配置
Claude使用示例
连接后,您可以要求Claude:
- “在Ravelry上给我找一些免费的钩针帽图案”
- “搜索袜子的编织图案”
- “获取有关模式ID 12345的更多详细信息”
- “找到适合初学者的模式”
🧠 可用工具
服务器提供了几个可供AI助手使用的工具:
search-patterns
根据查询参数搜索模式。
参数:
query:搜索词(必填)page:分页页码(默认值:1)craft:工艺类型(例如“针织”、“钩针编织”)availability:价格过滤器(默认值:“免费”,选项:“自由”、“旅行”、“在线”)
get-pattern-details
检索特定模式的详细信息。
参数:
id:图案ID(必填)
get-multiple-pattern-details
一次检索多个模式的详细信息。
参数:
ids:模式ID数组(必填)
🔍 运作原理
服务器使用axios向Ravelry API发出经过身份验证的请求:
- 使用您的Ravelry凭据使用Basic Auth对请求进行身份验证
- 向各种Ravelry API端点发出请求
- 以结构化格式解析并返回数据
- 将端点公开为可由AI助手调用的MCP工具
🛠️ 项目结构
src/
├── class/
│ └── ravelry.class.ts # Main client for Ravelry API
├── endpoints/
│ ├── getMultiplePatternDetails.ts # Get details for multiple patterns
│ ├── getPatternDetails.ts # Get details for a single pattern
│ ├── searchPatterns.ts # Search for patterns
│ └── index.ts # Endpoint exports
├── types/
│ ├── patternDetailed.d.ts # Type definitions for detailed patterns
│ └── patternSimple.d.ts # Type definitions for simple patterns
└── index.ts # Entry point and MCP server setup⚙️ 发展
环境配置
服务器使用不同的环境文件进行开发和生产:
.env.development-在开发模式下运行时使用.env.production-在生产模式下运行时使用
测试
使用以下命令运行测试套件:
npm test装订和格式化
# Run ESLint
npm run lint
# Fix ESLint errors
npm run lint:fix
# Format code with Prettier
npm run format📝 部署注意事项
部署到生产环境时:
- 确保您的
.env.production文件包含有效的Ravelry凭据 - 构建过程将在编译后的代码中嵌入这些凭据
- 使用
npm run prod构建并启动生产服务器
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
