Redis MCP 서버

Redis 데이터베이스 작업에 대한 액세스를 제공하는 MCP(Model Context Protocol) 서버입니다.
프로젝트 구조
지엑스피1
Related MCP server: Redash MCP Server
사용 가능한 도구
도구 | 유형 | 설명 | 입력 스키마 |
hmset | 해시 명령 | 여러 해시 필드를 여러 값으로 설정 | key : 문자열(해시 키) fields : 객체(설정할 필드-값 쌍)
|
hget | 해시 명령 | 해시 필드의 값을 가져옵니다 | key : 문자열(해시 키) field : 문자열(가져올 필드)
|
hgetall | 해시 명령 | 해시의 모든 필드와 값을 가져옵니다. | key : 문자열(해시 키)
|
주사 | 키 명령 | 패턴과 일치하는 Redis 키 스캔 | pattern : 문자열(일치시킬 패턴, 예: "user:*") count : 숫자, 선택 사항(반환할 키 개수)
|
세트 | 문자열 명령 | NX 및 PX 옵션으로 문자열 값 설정 | key : 문자열(설정할 키) value : 문자열(설정할 값) nx : 부울, 선택 사항(존재하지 않는 경우에만 설정) px : 숫자, 선택 사항(만료 시간(밀리초))
|
얻다 | 문자열 명령 | 문자열 값 가져오기 | key : 문자열(가져올 키)
|
델 | 키 명령 | 키 삭제 | key : 문자열(삭제할 키)
|
자드 | 정렬된 세트 명령 | 정렬된 세트에 하나 이상의 멤버 추가 | key : 문자열(정렬된 세트 키) members : score : 숫자, value : 문자열을 갖는 객체의 배열
|
즈랜지 | 정렬된 세트 명령 | 인덱스로 정렬된 세트에서 멤버 범위를 반환합니다. | key : 문자열(정렬된 세트 키) start : 숫자(시작 인덱스) stop : 숫자(종료 인덱스) withScores : 부울, 선택 사항(출력에 점수 포함)
|
zrangebyscore | 정렬된 세트 명령 | 최소값과 최대값 사이의 점수를 갖는 정렬된 세트에서 멤버를 반환합니다. | key : 문자열(정렬된 세트 키) min : 숫자(최소 점수) max : 숫자(최대 점수) withScores : 부울, 선택 사항(출력에 점수 포함)
|
즈렘 | 정렬된 세트 명령 | 정렬된 세트에서 하나 이상의 멤버 제거 | key : 문자열(정렬된 세트 키) members : 문자열 배열(제거할 멤버)
|
사드 | 명령 설정 | 세트에 하나 이상의 멤버 추가 | key : 문자열(세트 키) members : 문자열 배열(세트에 추가할 멤버)
|
스멤버스 | 명령 설정 | 모든 멤버를 한 세트로 모으세요 | key : 문자열(키 설정)
|
용법
MCP 클라이언트(예: Claude Desktop, Cline)에서 구성:
{
"mcpServers": {
"redis": {
"command": "npx",
"args": ["redis-mcp", "--redis-host", "localhost", "--redis-port", "6379"],
"disabled": false
}
}
}
명령줄 인수
Smithery를 통해 설치
Smithery를 통해 Claude Desktop에 Redis Server를 자동으로 설치하려면:
npx -y @smithery/cli install redis-mcp --client claude
개발
새로운 Redis 도구를 추가하려면:
src/tools/ 에 RedisTool 확장하는 새 도구 클래스를 만듭니다.
src/interfaces/types.ts 에 도구 인터페이스를 정의합니다.
src/tools/tool_registry.ts 에 도구를 등록합니다.
도구 구현 예시:
export class MyTool extends RedisTool {
name = 'mytool';
description = 'Description of what the tool does';
inputSchema = {
type: 'object',
properties: {
// Define input parameters
},
required: ['requiredParam']
};
validateArgs(args: unknown): args is MyToolArgs {
// Implement argument validation
}
async execute(args: unknown, client: RedisClientType): Promise<ToolResponse> {
// Implement tool logic
}
}
특허
MIT: https://opensource.org/license/mit