✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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 demo video 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

MIT License

Featured Templates

View More
Verified Icon
AI Assistants
Speech to Text
137 1881
AI Assistants
Talk with Claude 3
158 1522
AI Characters
Your Speaking Avatar
169 927
AI Engineering
Python Bug Fixer
119 1431

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.