Dapr MCP Server
Dapr state, pub/sub, bindings, secrets, locks, crypto, conversation, actors, invocation as MCP tools
Connector by dapr · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/dapr-dapr-mcp-server
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 3 read · 8 write · 2 delete · 4 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Docker image
Tools by what they do 17
Read from the source code; the running server may list different tools.
Read 3 · Look things up without changing anything.
get_bulk_secretsget_secretget_state
Write 8 · Create, change, send or run things.
acquire_lockinvoke_actor_methodinvoke_output_bindinginvoke_servicepublish_eventpublish_event_with_metadatarelease_locksave_state
Delete 2 · Delete, drop, revoke or wipe things.
delete_stateexecute_transaction
Not yet classified 4 · We could not tell from the name and description.
converse_with_llmdecrypt_dataencrypt_dataget_components
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
DAPR_API_TOKEN
Other settings (environment variables or headers).
DAPR_GRPC_PORTDAPR_MCP_SERVER_LOG_LEVEL
Network hosts it talks to 2
docs.dapr.io· found in codegithub.com· found in code
Tools (17)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
acquire_lockAcquire Resource Coordination LockTries to acquire a distributed lock on a named resource for exclusive access. **This is a SIDE-EFFECT action that IS IDEMPOTENT.** Use only when the agent must ensure no other entity is concurrently modifying a shared resource (e.g., before writing to a database). **GUIDANCE:** 1. Use `get_components` to find the `storeName` of the lock store. 2. For `resourceID`, use a unique identifier for the resource (e.g., 'client-file-lock'). 3. For `lockOwner`, use a unique identifier for the entity (e.g., 'ai-agent-42'). 4. For `expiryInSeconds`, use a short positive duration (5 to 60 seconds) if unsu…
converse_with_llmDelegate Task to External Reasoning EngineDelegates a single, immediate reasoning or text generation task to a secondary LLM component. **This is a READ-ONLY and IDEMPOTENT operation.** The server handles complex message history formatting internally, accepting only the user's direct prompt, the component name, and an optional context ID for session continuity. **GUIDANCE:** 1. Use `get_components` to find the `name` of the LLM component. 2. For `temperature`, use a value between 0.0 (deterministic) and 1.0 (creative). Default is 0.7. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide the Dapr component `name` and the user…
decrypt_dataDecrypt Sensitive Cipher TextDecrypts base64-encoded cipher text produced by `encrypt_data` back into its original plain text form. **This is a READ-ONLY Data Retrieval operation that IS IDEMPOTENT.** Use ONLY when the user explicitly requests to read data that was previously encrypted. **GUIDANCE:** 1. Use `get_components` to find the `componentName` of the cryptography component. 2. Ensure the `componentName` matches a valid cryptography component name. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide non-empty values for `componentName` and `cipherText`. 2. **OPTIONAL INPUTS**: If the required key is not …
delete_stateDelete State KeyDeletes a key-value pair from a Dapr state store. **This is a critical, DESTRUCTIVE SIDE-EFFECT action that IS IDEMPOTENT.** Use only when instructed to remove specific, whitelisted application data. **GUIDANCE:** 1. Use `get_components` to find the `storeName` of the state store. 2. Ensure `key` is explicitly provided by the user or use the key previously used for save. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide non-empty values for `storeName` and `key`. 2. **SECURITY WARNING**: This operation can cause data loss. Ensure user intent is clear and the key is authorized for …
encrypt_dataEncrypt Sensitive Data for ConfidentialityEncrypts arbitrary plain text data using a Dapr cryptography component. **This is a SIDE-EFFECT action (mutates data form) that is NOT IDEMPOTENT.** Use ONLY when the user explicitly says 'encrypt this' or 'store this encrypted'. **GUIDANCE:** 1. Use `get_components` to find the `componentName` of the cryptography component. 2. `keyName` defaults to 'rsa-private-key.pem' and `keyWrapAlgorithm` defaults to 'RSA'. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide non-empty values for `componentName` and `plainText`. 2. **CLARIFICATION**: If any required input is missing, you MUST as…
execute_transactionExecute Atomic State TransactionExecutes multiple save and/or delete operations atomically (all or nothing) on state stores that support transactions. **This is a complex, high-impact DESTRUCTIVE SIDE-EFFECT action that is NOT IDEMPOTENT.** Use only for batch updates or when strict data consistency is required across multiple keys. **GUIDANCE:** 1. Use `get_components` to find the `storeName` of the state store. 2. Ensure `items` contains valid save/delete operations. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide a non-empty `storeName` and a non-empty list of `items`, each with a non-empty `key`. 2. **SECUR…
get_bulk_secretsRetrieve All Secrets (HIGHLY RESTRICTED)Attempts to retrieve ALL secrets the application has access to from a specific Dapr secret store. **This operation is READ-ONLY and IDEMPOTENT but HIGHLY RESTRICTED and extremely high-risk.** **GUIDANCE:** 1. Use `get_components` to find the `storeName` of the secret store. 2. Ensure the user explicitly requests bulk retrieval and understands the risks. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide a non-empty value for `storeName`. 2. **RISK WARNING**: Avoid this tool unless the user explicitly requests enumeration of all accessible secrets, as it provides a broad view of the…
get_componentsRetrieve Live Dapr Component List (Call This First)Call this tool first. It retrieves a detailed list of all currently running Dapr components (state stores, pub/sub brokers, bindings, conversations, secret stores, locks, cryptography, etc.) in the sidecar. **This is a READ-ONLY and IDEMPOTENT operation.** Use the structured result of this call to discover valid component names (e.g., 'statestore-redis') and capabilities before invoking other tools.
get_secretRetrieve Single Authorized SecretRetrieves a single, whitelisted secret (e.g., API key, credential) from a configured Dapr secret store. **This is a highly SENSITIVE, READ-ONLY and IDEMPOTENT Data Retrieval operation.** Use ONLY when the user explicitly requests a specific secret. **GUIDANCE:** 1. Use `get_components` to find the `storeName` of the secret store. 2. Ensure `secretName` is explicitly provided by the user. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide non-empty values for `storeName` and `secretName`. 2. **NEVER INVENT**: You must NOT invent `secretName` or `storeName` names; they must be provid…
get_stateRetrieve Single Key StateRetrieves the value for a single key from a Dapr state store. **This is a READ-ONLY Data Retrieval operation and IS IDEMPOTENT.** Use to access current application state or previously saved context. **GUIDANCE:** 1. Use `get_components` to find the `storeName` of the state store. 2. Ensure `key` is explicitly provided by the user or use the key previously used for save. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide non-empty values for `storeName` and `key`. 2. **NEVER INVENT**: Never invent a `key`; it must be provided by the user or discovered. 3. **CLARIFICATION**: If any r…
invoke_actor_methodExecute Stateful Actor MethodExecutes a method on a Dapr Virtual Actor instance, providing durability and concurrency control. **This is a DESTRUCTIVE SIDE-EFFECT action that alters state (e.g., creating an order, updating a payment status) and is NOT IDEMPOTENT.** Use this tool exclusively for requests that require stateful, single-threaded execution. **GUIDANCE:** 1. Take the `actorType` from the user or earlier context. `get_components` does not list actor types. 2. Ensure `actorID` and `method` are explicitly provided by the user. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide non-empty values for `act…
invoke_output_bindingInteract with External System via BindingInvokes an operation on a Dapr output binding component to interact with external systems (e.g., queues, databases, webhooks). **This is a DESTRUCTIVE SIDE-EFFECT action that is NOT IDEMPOTENT.** Use this tool to perform I/O actions. **GUIDANCE:** 1. Use `get_components` to find the `bindingName` of the output binding. 2. Ensure `operation` and `data` are explicitly provided by the user. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide non-empty values for `bindingName` and `operation`. Provide the `data` payload whenever the operation needs one. 2. **NEVER INVENT**: You must NOT…
invoke_serviceExecute Inter-Service RequestCalls a method (endpoint) on another Dapr-enabled service. **This is a DESTRUCTIVE SIDE-EFFECT action that is NOT IDEMPOTENT.** Use this tool to perform transactional business logic (e.g., updating data, creating resources, triggering workflows). **GUIDANCE:** 1. Take the `appID` of the target service from the user or earlier context. `get_components` does not list applications. 2. For `httpVerb`, use 'GET' for read-only status checks, 'POST' for creation, and 'DELETE' for removal. Default is 'POST'. 3. Use `metadata` to send HTTP headers to the target service. **ARGUMENT RULES:** 1. **REQUI…
publish_eventPublish Event (Simple)Publishes a message to a topic using the Dapr Pub/Sub building block. **This is a SIDE-EFFECT action that triggers decoupled, asynchronous workflows.** Publishing is additive (non-destructive) but NOT IDEMPOTENT (sending twice results in two messages). **GUIDANCE:** 1. Use the `get_components` tool to discover available pubsub components and their names before invoking this tool. 2. Ensure the `pubsubName` matches a valid pubsub component name. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide non-empty values for `pubsubName`, `topic`, and `message`. 2. **NEVER INVENT**: You must…
publish_event_with_metadataPublish Event (With Metadata)Publishes a message to a topic including optional metadata/headers (e.g., routing headers, 'ttlInSeconds'). **This is a SIDE-EFFECT action that is NOT IDEMPOTENT.** Use this tool when you need granular control over message delivery or routing. **GUIDANCE:** 1. Use the `get_components` tool to discover available pubsub components and their names before invoking this tool. 2. Ensure the `pubsubName` matches a valid pubsub component name. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide non-empty values for `pubsubName`, `topic`, and `message`. 2. **METADATA RULE**: The `metadata` f…
Show 2 more tools
release_lockRelease Resource Coordination LockReleases a previously acquired distributed lock on a resource. **This is a SIDE-EFFECT action that is NOT IDEMPOTENT.** It MUST be called immediately after the critical section of code is complete to prevent deadlocks. **GUIDANCE:** 1. Use `get_components` to find the `storeName` of the lock store. 2. Ensure the `resourceID` and `lockOwner` match the values used during acquisition. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide `storeName`, `resourceID`, and the correct `lockOwner`. 2. **OWNERSHIP**: Only the entity that acquired the lock can release it. 3. **CLARIFICATION**: I…
save_stateSave Single Key-Value StateSaves a single key-value pair to a Dapr state store. **This is a SIDE-EFFECT action that alters application state and IS IDEMPOTENT.** Use only when the agent needs to persist data or update an entity. **GUIDANCE:** 1. Use `get_components` to find the `storeName` of the state store. 2. For `key`, use a meaningful identifier. Dapr applies the state store's key prefix itself (by default the app ID), so do not add one. **ARGUMENT RULES:** 1. **REQUIRED INPUTS**: You MUST provide non-empty values for `storeName`, `key`, and `value`. 2. **VALUE RULE**: The `value` must be a string (plain or JSON-…
Signals
- Stars
- 2
- Forks
- 3
- Open issues
- 7
- Last commit
- Oct 13, 2026 (16 days ago)
- Last release
- Oct 14, 2026 (15 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.dapr/dapr-mcp-server- Version
- 0.0.3
- Auth
- API key
- Packages
- oci
ghcr.io/dapr/dapr-mcp-server:v0.0.3 - License
- Apache-2.0
- Repository
- github.com/dapr/dapr-mcp-server
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from dapr
Cite this page
Dapr MCP Server. Agent Mart. https://agentmart.dev/connectors/dapr-dapr-mcp-server (last updated 2026-10-25)