dicedb-mcp

dicedb-mcp

4

DiceDB MCP is a server implementation supporting the Model Context Protocol, designed to enable seamless interactions between AI applications and the DiceDB database. It provides various tools for database operations and can be integrated with AI platforms like OpenAI Agents.

DiceDB MCP

A Model Context Protocol (MCP) server implementation for DiceDB to enable interactions between AI applications (hosts/clients) and DiceDB database servers.

This implementation uses the DiceDB Go SDK to communicate with DiceDB.

Check out the to see it in action!

Features

  • PING DiceDB to check connectivity.
  • ECHO a message through DiceDB.
  • GET a value from DiceDB by key.
  • SET a key-value pair in DiceDB.
  • DEL one or more keys from DiceDB.
  • INCR the integer value of a key by one.
  • DECR the integer value of a key by one.

Installation

Download Binary

You can download and use the appropriate binary for your operating system and processor archetecture from the "Releases" page.

Install via Go

Prerequisites:

  • Go 1.24 or higher
go install github.com/pottekkat/dicedb-mcp@latest

Get the path to the dicedb-mcp binary:

which dicedb-mcp

Build from Source

See Development section below.

Usage

With MCP Hosts/Clients

Add this to your claude_desktop_config.json for Claude Desktop or mcp.json for Cursor:

{
    "mcpServers": {
        "dicedb-mcp": {
            "command": "path/to/dicedb-mcp"
        }
    }
}

With OpenAI Agents SDK

The example below shows how to use the dicedb-mcp server with the OpenAI Agents SDK:

from agents import Agent, Runner, trace
from agents.mcp import MCPServer, MCPServerStdio
from dotenv import load_dotenv
import os
import openai
import asyncio

load_dotenv()


async def run(mcp_server: MCPServer, prompt: str, server_url: str):
    agent = Agent(name="DiceDB MCP",
                  instructions=f"""You can interact with a DiceDB database
                                  running at {server_url}, use
                                  this for url.""",
                  mcp_servers=[mcp_server],)
    result = await Runner.run(starting_agent=agent, input=prompt)
    print(result.final_output)


async def main():
    openai.api_key = os.getenv("OPENAI_API_KEY")

    prompt = "Can you change the value of the 'name' key to 'Rachel Green'?"
    server_url = "localhost:7379"

    async with MCPServerStdio(
        cache_tools_list=True,
        params={"command": "path/to/dicedb-mcp", "args": [""]},
    ) as server:
        with trace(workflow_name="DiceDB MCP"):
            await run(server, prompt, server_url)


if __name__ == "__main__":
    asyncio.run(main())

Available Tools

ping

Pings a DiceDB server to check connectivity.

echo

Echoes a message through the DiceDB server.

get

Retrieves a value from DiceDB by key.

set

Sets a key-value pair in DiceDB.

del

Deletes one or more keys from DiceDB.

incr

Increments the integer value of a key by one.

decr

Decrements the integer value of a key by one.

Development

Fork and clone the repository:

git clone https://github.com/username/dicedb-mcp.git

Change into the directory:

cd dicedb-mcp

Install dependencies:

make deps

Build the project:

make build

Update your MCP servers configuration to point to the local build:

{
    "mcpServers": {
        "dicedb-mcp": {
            "command": "/path/to/dicedb-mcp/dist/dicedb-mcp"
        }
    }
}

License