npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@aikdna/kdna-mcp-server

v0.2.3

Published

MCP server for loading, inspecting, verifying, and matching KDNA .kdna assets.

Downloads

233

Readme

KDNA MCP Server

@aikdna/kdna-mcp-server exposes KDNA as MCP tools so agent runtimes can use .kdna assets without learning the container internals. Stdio-only, minimal footprint.

Why MCP instead of the kdna-loader skill?

The kdna-loader skill teaches an agent the full KDNA protocol (7-part routing, silent loading, boundary respect). The MCP server provides a lower-level bridge — use it when you need programmatic access to .kdna assets through structured tool calls rather than letting the agent drive the CLI.

| Approach | Best for | |----------|----------| | kdna-loader skill | Full KDNA protocol: routing, fit evaluation, silent application | | MCP server | Programmatic inspect/verify/load/match from any MCP-compatible runtime |

Tools

| Tool | Purpose | Input | Output | |------|---------|-------|--------| | kdna.inspect | Inspect a v1 .kdna asset or legacy asset | File path | Structured metadata | | kdna.verify | Verify asset integrity state | File path | Pass/fail with reasons | | kdna.plan-load | Return Core LoadPlan before loading | File path, optional password or entitlement state | LoadPlan JSON | | kdna.load | Load and render a .kdna profile for agent context | File path, optional profile | Prompt-mode text or raw JSON | | kdna.available-local | List local v1 .kdna assets without registry dependency | Root directory | Local v1 asset inventory | | kdna.match | Rank candidate assets for a task string | Task description | Scored list with fit signals | | kdna.available | Legacy registry compatibility only | domains.json path | Legacy domain list |

Install & Run

npm install -g @aikdna/kdna-mcp-server
kdna-mcp

Configure in your MCP client

Claude App / Claude Code (claude_desktop_config.json):

{
  "mcpServers": {
    "kdna": {
      "command": "npx",
      "args": ["-y", "@aikdna/kdna-mcp-server"]
    }
  }
}

Codex:

{
  "mcpServers": {
    "kdna": {
      "command": "npx",
      "args": ["-y", "@aikdna/kdna-mcp-server"]
    }
  }
}

OpenCode (opencode.json):

{
  "mcpServers": {
    "kdna": {
      "command": "npx",
      "args": ["-y", "@aikdna/kdna-mcp-server"]
    }
  }
}

Environment Variables

| Variable | Purpose | |----------|---------| | KDNA_ASSET_DIR | Root directory for kdna.available-local (default: ~/.kdna/assets) | | KDNA_REGISTRY_FILE | Legacy path to domains.json for kdna.available | | KDNA_DATA_ROOT | Override KDNA data directory (default: ~/.kdna) |

Local Development

cd mcp-server
npm install
node bin/kdna-mcp.mjs

Example: Verify and Load a Domain via MCP

# Client calls kdna.available-local { root: "./dist" }
# Client calls kdna.verify { assetPath: "./dist/writing.kdna" }
# Client calls kdna.plan-load { assetPath: "./dist/writing.kdna" }
# Or kdna.plan-load { assetPath: "./dist/writing.kdna", entitlementStatus: "active" }
# Client calls kdna.load { assetPath: "./dist/writing.kdna", profile: "compact" }
# Agent injects prompt text into system context

Relationship to kdna-loader skill

The MCP server and kdna-loader skill are complementary:

  • kdna-loader = agents that can run CLI commands (Codex, Claude Code, OpenCode, Cursor)
  • MCP server = any MCP-compatible runtime (including the above, plus custom agents)

For most users, the kdna-loader skill (installed by kdna setup) is the recommended path. Use the MCP server when you need programmatic, tool-based access.