Skip to content

jhubbardsf/dfns-mcp

Repository files navigation

DFNS MCP Server

A Model Context Protocol (MCP) server that provides AI agents with access to the DFNS documentation, API reference, and SDK code.

Features

  • Full-Text Search: Instantly search across all DFNS guides, API docs, and SDK source code
  • TypeScript Type Intelligence: Search and retrieve SDK type definitions with import paths
  • Auto-Updating Docs: Documentation is fetched from docs.dfns.co on first run and cached locally
  • Context Initialization: Dedicated init tool to enforce documentation-first behavior
  • Smart Context: Retrieve specific documents, code examples, and API endpoint definitions
  • SDK Intelligence: Mapped knowledge of supported blockchains and their SDK packages

Requirements

This MCP server requires Bun - a fast JavaScript runtime.

Linux/macOS:

curl -fsSL https://bun.sh/install | bash

Windows (PowerShell):

powershell -c "irm bun.sh/install.ps1 | iex"

Quick Start

Claude Code (Recommended)

claude mcp add -s user dfns-mcp -- bunx dfns-mcp@latest

The -s user flag installs to the user so it's available in all your projects.

Cursor

Add to your Cursor MCP settings (.cursor/mcp.json):

{
  "mcpServers": {
    "dfns-mcp": {
      "command": "bunx",
      "args": ["dfns-mcp@latest"]
    }
  }
}

Codex

codex mcp add dfns-mcp -- bunx dfns-mcp@latest

Gemini CLI

Add to your Gemini CLI config (~/.gemini/settings.json):

{
  "mcpServers": {
    "dfns-mcp": {
      "command": "bunx",
      "args": ["dfns-mcp@latest"]
    }
  }
}

Global Installation

If you prefer to install globally instead of using bunx:

bun install -g dfns-mcp

# Then reference as just "dfns-mcp" in your MCP config

Agent Instructions (Recommended)

Add this to your global ~/.claude/CLAUDE.md (or ~/AGENTS.md for other agents) to ensure your AI always uses up-to-date DFNS documentation:

## DFNS Development

When working with DFNS (wallet infrastructure, key management, blockchain integrations):

1. **Always** call `mcp__dfns-mcp__init` at the start of any DFNS-related task
2. **Never** rely on training data for DFNS APIs - always use `search_docs` and `get_doc` to verify
3. Use `search_types` and `get_type` to get accurate TypeScript type definitions
4. DFNS APIs and SDKs change frequently - the MCP server has the latest documentation

This prevents agents from hallucinating outdated API signatures or SDK patterns.

How It Works

On first run, the server automatically downloads the latest DFNS documentation from docs.dfns.co and SDK types from GitHub, caching them locally in ~/.cache/dfns-mcp/. The cache is refreshed every 24 hours automatically, or you can force an update using the update_docs tool.

Available Tools

Documentation Tools

Tool Description
init CALL THIS FIRST. Initializes the session and mandates strict documentation adherence
search_docs Search all documentation and SDK files
get_doc Retrieve the full content of a specific document
list_docs List available documents by category
get_code_examples Extract code snippets for a specific topic
browse_api_structure View hierarchical API endpoint structure
get_api_endpoint Get details for a specific API endpoint (e.g., POST /wallets)
get_blockchain_info Get SDK package info for a specific chain (e.g., Solana)
list_blockchains List all supported blockchains with their SDK packages

TypeScript Type Tools

Tool Description
search_types Search SDK types by name (e.g., "Wallet", "Signer", "Transaction")
get_type Get full type definition, import path, and usage
list_types List all types by category

Cache Management

Tool Description
update_docs Force update the documentation cache from docs.dfns.co and GitHub
cache_info Get information about the cache (location, last update, etc.)

Resources

The server also exposes these quick-reference resources:

Resource URI Description
dfns://quickref/authentication Authentication patterns and code samples
dfns://quickref/sdk-setup Package installation and setup guide
dfns://quickref/networks All supported blockchain networks

Best Practices for Agents

When using this server, agents should follow this workflow:

  1. Initialize: Call init immediately to establish the "Documentation First" protocol
  2. Search: Use search_docs to find relevant information before answering ANY question
  3. Read: Use get_doc to read the actual source material
  4. Answer: Formulate responses based only on the retrieved context

Development

# Clone the repo
git clone https://github.com/jmaddington/dfns-mcp.git
cd dfns-mcp

# Install dependencies
bun install

# Run in development mode with auto-reload
bun run dev

# Test with MCP Inspector
bun run inspect

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors