Skip to main content

DakNode MCP server

DakNode's API as MCP tools, over stdio. The client launches it as a subprocess; there is no hosted endpoint and no infrastructure.

Install

Python 3.10+. With uv, nothing needs installing up front — the client starts it with uvx. Otherwise pipx install daknode-mcp.

Get an API key with the two-request signup at https://daknode.com/developers.

Configure

{
  "mcpServers": {
    "daknode": {
      "command": "uvx",
      "args": ["daknode-mcp"],
      "env": { "DAKNODE_API_KEY": "…" }
    }
  }
}

With pipx, use "command": "daknode-mcp" and no args. From a repository checkout, "command": "python", "args": ["-m", "mcp_server.server"].

The key comes from the environment and never from a command-line argument: argv is visible to every process through ps, and shells record it in history. The server refuses to start without it, so a misconfiguration is obvious at launch rather than looking like a broken tool.

Tools

create_inbox · list_threads · list_messages · get_thread · get_message · search · send

Every tool is 1:1 with a published API operation. That is architecture.md §0 consequence 4, and it is the boundary this server exists inside: DakNode exposes operations, the agent decides which to call. A tool like reply_to_latest or auto_respond would cross that line — DakNode would be choosing which message to answer — while looking like a convenience. tests/test_mcp_server.py enforces it rather than leaving it to review.

What is deliberately absent

Erasure. It is irreversible, and an agent that can erase a data subject through a tool call is a liability no convenience justifies. It stays an explicit API call a human integrates.

Console and operator APIs. Not a product surface.

Notes for whoever uses this

send without thread_id opens a new conversation in the recipient's client. Pass thread_id to reply into an existing one — the server then derives In-Reply-To and References from that thread's latest received message.

search returns identifiers and scores, not content. Resolve them with get_message or get_thread.

body_text is already cleaned: quoted history and signatures are stripped. Check risk_level before feeding content to a model — high means prompt-injection patterns were detected in mail from the internet.

Metadata

Release files for daknode-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for daknode-mcp 0.2.0
File Size Uploaded
daknode_mcp-0.2.0.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for daknode-mcp 0.2.0
File Interpreter ABI Platform
daknode_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.5 kB

Release files / daknode_mcp-0.2.0.tar.gz

Download URL daknode_mcp-0.2.0.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4da8a2a0a7d3214b942c3c37244b973afffc7e9d5d2466a5564271a925dbb7b8
BLAKE2b-256 checksum
How to use checksums
19663c13069f684757920e52d9a12b8d55f7395b064d6fbe520c13052faa13d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / daknode_mcp-0.2.0-py3-none-any.whl

Download URL daknode_mcp-0.2.0-py3-none-any.whl
Size 6.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c150f01bcdfde015873fd850bdf4ef72987055456ac9bea025af6efdbf847507
BLAKE2b-256 checksum
How to use checksums
659bbae30e9ebb30ff2fd2bf581918872a7d7f3a89f81a1be394379717827752
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.0

2 release files

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page