一个用于DiceDB的模型上下文协议(MCP)服务器实现,使AI应用程序(主机/客户端)与DiceDB数据库服务器之间能够进行交互。
此实现使用DiceDB Go SDK与DiceDB通信。
观看demo视频,了解其实际运行情况!
你可以从“发布”页面下载适用于你的操作系统和处理器架构的适当二进制文件。
前提条件:
go install github.com/pottekkat/dicedb-mcp@latest
获取dicedb-mcp二进制文件的路径:
which dicedb-mcp
参见下面的开发部分。
在Claude Desktop的claude_desktop_config.json或Cursor的mcp.json中添加以下内容:
{
"mcpServers": {
"dicedb-mcp": {
"command": "path/to/dicedb-mcp"
}
}
}
下面的例子展示了如何使用dicedb-mcp服务器与OpenAI代理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"""你可以与运行在{server_url}的DiceDB数据库进行交互,
使用这个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 = "你能把'name'键的值改为'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())
向DiceDB服务器发送ping以检查连接性。
通过DiceDB服务器回显一条消息。
根据键从DiceDB检索值。
在DiceDB中设置键值对。
从DiceDB删除一个或多个键。
将键的整数值增加一。
将键的整数值减少一。
分叉并克隆仓库:
git clone https://github.com/username/dicedb-mcp.git
切换到目录:
cd dicedb-mcp
安装依赖项:
make deps
构建项目:
make build
更新你的MCP服务器配置,指向本地构建:
{
"mcpServers": {
"dicedb-mcp": {
"command": "/path/to/dicedb-mcp/dist/dicedb-m_"
}
}
}