使用说明
MCP Redis最佳实践
模型上下文协议(MCP)服务器提供Redis开发最佳实践作为AI工具。与GitHub Copilot集成 VS Code 和 Visual StudioClaude Desktop和其他MCP兼容客户端。
概述
该项目提供了一个MCP服务器,将Redis的最佳实践作为可调用工具公开。开发人员不再依赖可能过时的人工智能训练数据,而是直接在编码工作流程中获得有关Redis模式、反模式和优化的权威、最新指导。
灵感来源: Redis代理技能 -通过结构化的最佳实践为人工智能代理提供专业知识的方法。
特性
- 🎯 按需最佳实践 -在需要时获得专家指导
- 📚 综合知识库 -11个类别的29条规则
- 🔍 可搜索的 -按关键字或用例查找实践
- 💡 代码示例 -每种模式的真实示例
- ⚠️ 反模式 -了解要避免什么
- 🚀 无依赖关系 -纯Types/Node.js,不需要Python
- 🔄 始终为最新 -独立于AI模型更新知识库
- 💻 多IDE支持 -适用于VS Code和Visual Studio
知识库覆盖率
| 类别 | 主题 | 影响 |
|---|---|---|
| 数据结构 | 结构选择、按键命名 | HIGH |
| 连接 | 池化、流水线、阻塞命令、超时 | 高 |
| 内存管理 | 限制,TTL策略 | 高 |
| 安全 | 身份验证、网络、ACL | 高 |
| JSON | 哈希与JSON,部分更新 | 中等 |
| 流 | 图案选择 | 中等 |
| 聚类 | 哈希标签,读取副本 | 中等 |
| 可观测性 | 命令、指标 | 中等 |
| Redis查询引擎 | 方言、字段类型、索引创建、优化 | 高 |
| 向量搜索 | 算法选择、RAG模式、混合搜索、索引创建 | 高 |
| 语义缓存 | LangCache使用情况,缓存最佳实践 | 中等 |
快速开始
VS代码(推荐)
-
从VS代码市场安装:
- 在扩展视图中搜索“Redis最佳实践MCP”
- 或从以下位置安装 VS代码市场
-
运行安装命令:
- 按
Cmd+Shift+P(Mac)或Ctrl+Shift+P(Windows/Linux) - 跑 “Redis:设置复制副本说明”
- 按
-
询问GitHub Copilot 关于Redis:
What's the best practice for Redis connection pooling? Show me anti-patterns for Redis key naming How should I structure keys for a multi-tenant application?
Visual Studio(2022 v17.14+)
-
从VS Marketplace安装:
- 首选 扩展 → 管理插件
- 搜索“Redis最佳实践MCP”
- 或从以下位置安装 Visual Studio市场
-
配置MCP服务器:
- 首选 工具 → Redis:设置MCP服务器
- 首选 工具 → Redis:设置副本说明
-
重新启动Copilot聊天 开始向Redis提问!
独立npm包
与任何MCP兼容的客户端一起使用:
npx @redis-best-practices/mcp-server
或全局安装:
npm install -g @redis-best-practices/mcp-server
redis-best-practices-mcp
克劳德桌面版
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"redis-best-practices": {
"command": "npx",
"args": ["-y", "@redis-best-practices/mcp-server"]
}
}
}
看 docs/claude-desktop-config.md 有关详细的设置说明。
可用工具
MCP服务器公开了6个工具:
| 工具 | 说明 |
|---|---|
get_best_practice |
获取特定Redis主题的详细指导 |
list_topics |
按类别浏览全部29个最佳实践主题 |
search_best_practices |
使用关键字搜索所有实践 |
get_anti_patterns |
了解Redis不能做什么 |
get_code_example |
获取可用于生产的代码片段 |
get_full_guide |
获取完整的最佳实践文档 |
工具详细信息
get_best_practice
Parameters:
- topic (required): Topic identifier (e.g., "conn-pooling", "data-key-naming")
list_topics
Parameters:
- category (optional): Filter by category (e.g., "security", "connection")
search_best_practices
Parameters:
- query (required): Search query
get_anti_patterns
Parameters:
- topic (optional): Filter by topic
get_code_example
Parameters:
- pattern (required): Pattern name (e.g., "connection-pool", "pipeline")
- language (required): Programming language ("python", "javascript", "java")
get_full_guide
Parameters: none
项目结构
这是一个支持多个部署目标的单仓库:
mcp-redis-best-practices/
├── packages/
│ └── mcp-server/ # Shared MCP server (npm package)
│ ├── src/
│ │ ├── index.ts # Package exports
│ │ ├── cli.ts # CLI entry point
│ │ ├── server.ts # MCP server implementation
│ │ ├── tools.ts # Tool definitions
│ │ ├── knowledge.ts # Knowledge base loader
│ │ └── types.ts # Type definitions
│ └── knowledge/rules/ # 29 markdown best practice files
│
├── extension/ # VS Code extension
│ ├── src/
│ │ └── extension.ts # VS Code-specific code
│ └── package.json
│
├── visual-studio/ # Visual Studio extension
│ ├── src/
│ │ ├── RedisBestPracticesExtension.cs
│ │ ├── SetupCopilotInstructionsCommand.cs
│ │ └── SetupMCPServerCommand.cs
│ └── RedisBestPracticesMCP.csproj
│
├── package.json # pnpm workspace root
├── pnpm-workspace.yaml
└── docs/
发展
先决条件
- Node.js 18+
- pnpm 8+(推荐)或npm
- .NET 8 SDK(用于Visual Studio扩展)
建造一切
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Or build individually:
pnpm build:server # MCP server package
pnpm build:vscode # VS Code extension
pnpm build:vs # Visual Studio extension
构建VS代码扩展
cd extension
npm install
npm run build
npm run package # Creates .vsix file
构建Visual Studio扩展
cd visual-studio
dotnet build
# VSIX will be in bin/Debug or bin/Release
运行测试
cd extension
npm test
添加新规则
- 在中创建新的markdown文件
packages/mcp-server/knowledge/rules/ - 使用命名约定:
{prefix}-{rule-name}.md - 包含带有标题、影响和标签的YAML frontmatter
- 重建:
pnpm build
规则模板:
---
title: Your Rule Title
impact: HIGH
impactDescription: Short description of impact
tags: relevant, tags, here
---
## Overview
Brief description of the rule.
**Correct:** Description of correct approach.
\`\`\`python
# Example correct code
\`\`\`
**Incorrect:** Description of what to avoid.
\`\`\`python
# Example incorrect code
\`\`\`
Reference: [Link Title](https://url)
查询示例
安装后,询问您的AI助手:
- “Redis密钥命名约定是什么?”
- “我什么时候应该在Redis中使用哈希和字符串?”
- “如何在Redis中实现流水线?”
- “应该避免哪些常见的Redis反模式?”
- “向我展示Redis的连接池最佳实践”
- “我应该如何处理Redis密钥过期?”
- “Redis中向量搜索的最佳算法是什么?”
- “如何使用Redis设置语义缓存?”
贡献
欢迎投稿!拜托:
- 克隆该仓库
- 创建要素分支
- 在知识库中添加/更新规则
- 运行测试
- 提交拉取请求
规则指南
- 每条规则都应该关注一个特定的主题
- 包括实际代码示例
- 解释为什么练习很重要
- 记录要避免的反模式
- 对关键最佳实践使用高影响力
许可证
MIT许可证-请参阅 许可证 了解详情。
资源
- 模型上下文协议 -MCP规范
- Redis文档 -Redis官方文档
- Redis代理技能博客 -这个项目的灵感