Skip to content
Agentmart
Submit a tool

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

IndexedApache-2.0Local (stdio)★ 2
Write a review

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.

We use your email only for this newsletter. Privacy

About

Dapr state, pub/sub, bindings, secrets, locks, crypto, conversation, actors, invocation as MCP tools

No 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_secrets
  • get_secret
  • get_state

Write 8 · Create, change, send or run things.

  • acquire_lock
  • invoke_actor_method
  • invoke_output_binding
  • invoke_service
  • publish_event
  • publish_event_with_metadata
  • release_lock
  • save_state

Delete 2 · Delete, drop, revoke or wipe things.

  • delete_state
  • execute_transaction

Not yet classified 4 · We could not tell from the name and description.

  • converse_with_llm
  • decrypt_data
  • encrypt_data
  • get_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_PORT
  • DAPR_MCP_SERVER_LOG_LEVEL

Network hosts it talks to 2

  • docs.dapr.io · found in code
  • github.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 Lock

    Tries 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 Engine

    Delegates 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 Text

    Decrypts 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 Key

    Deletes 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 Confidentiality

    Encrypts 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 Transaction

    Executes 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 Secret

    Retrieves 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 State

    Retrieves 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 Method

    Executes 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 Binding

    Invokes 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 Request

    Calls 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 Lock

    Releases 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 State

    Saves 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
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)