dapr-mcp

CasperGN/dapr-mcp

3.2

If you are the rightful owner of dapr-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

MCP Server for Dapr APIs is designed to facilitate communication and integration between distributed applications using the Dapr framework.

dapr-mcp

MCP Server for Dapr APIs

Status

As this project is still very much WIP, below you'll find the relevant status of the tools

tool-categorytoolstatusnotestest
actorsinvoke_actor_method?
bindingsinvoke_output_bindingFunctionalIssue an http call with dapr by sending the content of mcp.json as a post request
conversationconverse_with_llmFunctionalCan you converse with the llm in your tools about dapr?
cryptoencrypt_dataNot FunctionalThis tool can get blocked by some models.
cryptodecrypt_dataNot FunctionalThis tool gets blocked often by standard agents.
invokeinvoke_service?
lockacquire_lockFunctionalGet a lock on
lockrelease_lockFunctionalRelease the lock
metadataget_componentsFunctionalfind which components are available
pubsubpublish_eventNot Functional
pubsubpublish_event_with_metadataNot Functional
secretsget_secretFunctionalDescription could be betterget the secret "agent-configuration:log_level"
secretsget_bulk_secretsFunctionalbulk get all secrets
statesave_stateFunctionalSave the content of mcp.json with dapr
stateget_stateFunctionalGet the saved file
statedelete_stateFunctionalDelete the saved file
stateexecute_transactionFunctionalAtomically save all files under .github/workflows with dapr

Run locally

Setup:

dapr init

You'll need 4 terminals:

Terminal 1:

python3 -m http.server 8000

Terminal 2:

dapr run --app-id daprmcp --resources-path components -- go run cmd/daprmcp/main.go --http localhost:8080

Terminal 3:

python3.13 -m venv .venv            
source .venv/bin/activate
pip install -r test/requirements.txt
dapr run --app-id daprmcpagent --resources-path test/components -- .venv/bin/python test/app.py

Terminal 4:

curl -i -X POST http://localhost:8001/run -H "Content-Type: application/json" -d '{"task": "Only save this message in a state with a random key. Do nothing else. Message: Hello Steve!"}'

NB: Currently the instructions and details could use improvements. Same can be said for Steve's instructions. This is purely for demo purpose.

Add to vscode

Run

dapr run --app-id daprmcp --resources-path components -- go run cmd/daprmcp/main.go --http localhost:8080

Add the following file as .vscode/mcp.json

{
  "servers": {
    "dapr-mcp": {
      "type": "http",
      "url": "http://localhost:8080"
    }
  }
}