https://github.com/pottekkat/dicedb-mcp
A Model Context Protocol (MCP) server implementation for DiceDB to enable AI applications to interact with DiceDB databases.
https://github.com/pottekkat/dicedb-mcp
dicedb mcp mcp-server model-context-protocol model-context-protocol-servers
Last synced: 2 months ago
JSON representation
A Model Context Protocol (MCP) server implementation for DiceDB to enable AI applications to interact with DiceDB databases.
- Host: GitHub
- URL: https://github.com/pottekkat/dicedb-mcp
- Owner: pottekkat
- License: mit
- Created: 2025-04-09T04:20:02.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-09T05:20:23.000Z (about 1 year ago)
- Last Synced: 2025-04-09T05:25:24.632Z (about 1 year ago)
- Topics: dicedb, mcp, mcp-server, model-context-protocol, model-context-protocol-servers
- Language: Go
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-mcp-servers - dicedb-mcp - An MCP server that enables AI applications to interact with DiceDB database servers for key-value operations without requiring direct database credentials or connection management. ([Read more](/details/dicedb-mcp.md)) `mcp` `database` `key-value` `ai-integration` (Database & Messaging MCP Servers)
- toolsdk-mcp-registry - ❌ dicedb - value operations without requiring direct database credentials or connection management (go) (Databases / How to Submit)
README
# DiceDB MCP
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server implementation for DiceDB to enable interactions between AI applications (hosts/clients) and DiceDB database servers.
This implementation uses the [DiceDB Go SDK](https://github.com/DiceDB/dicedb-go) to communicate with DiceDB.
Check out the [demo video](./demo.mov) 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](https://github.com/pottekkat/dicedb-mcp/releases) 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
```bash
go install github.com/pottekkat/dicedb-mcp@latest
```
Get the path to the `dicedb-mcp` binary:
```bash
which dicedb-mcp
```
### Build from Source
See [Development](#development) section below.
## Usage
### With MCP Hosts/Clients
Add this to your `claude_desktop_config.json` for Claude Desktop or `mcp.json` for Cursor:
```json
{
"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](https://openai.github.io/openai-agents-python/):
```python
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:
```bash
git clone https://github.com/username/dicedb-mcp.git
```
Change into the directory:
```bash
cd dicedb-mcp
```
Install dependencies:
```bash
make deps
```
Build the project:
```bash
make build
```
Update your MCP servers configuration to point to the local build:
```json
{
"mcpServers": {
"dicedb-mcp": {
"command": "/path/to/dicedb-mcp/dist/dicedb-mcp"
}
}
}
```
## License
[MIT License](LICENSE)