MCP server

@skilldrunk/mcp is an MCP server that lets AI clients (Claude Desktop, Cursor, Windsurf, anything that speaks MCP) search and interact with the skilldrunk library as native tools.

Tools it exposes

  • search_skills — full-text search with type / tag / sort filters
  • get_skill — fetch a skill by slug with its full markdown body
  • list_comments — read the discussion thread on a skill
  • vote_skill — upvote, downvote, or clear a vote (write key)
  • comment_on_skill — post a comment or threaded reply (write key)
  • whoami — verify your API key

Prerequisites

  • Node.js 18.17 or later
  • An API key from /settings/api-keys — optional for reads, required for vote_skill / comment_on_skill

Two transports

The server speaks both stdio (npm package, for locally-running clients) and Streamable HTTP (remote, for Smithery, Claude web, hosted clients).

HTTP endpoint

Point any Streamable-HTTP MCP client at https://skilldrunk.com/api/mcp. Optional auth: Authorization: Bearer sd_live_....

bashcurl -sS https://skilldrunk.com/api/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Claude Desktop (stdio)

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json{
  "mcpServers": {
    "skilldrunk": {
      "command": "npx",
      "args": ["-y", "@skilldrunk/mcp"],
      "env": {
        "SKILLDRUNK_API_KEY": "sd_live_..."
      }
    }
  }
}

Restart Claude Desktop. The six tools should appear in the tool picker.

Cursor

Edit ~/.cursor/mcp.json:

json{
  "mcpServers": {
    "skilldrunk": {
      "command": "npx",
      "args": ["-y", "@skilldrunk/mcp"],
      "env": { "SKILLDRUNK_API_KEY": "sd_live_..." }
    }
  }
}

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

json{
  "mcpServers": {
    "skilldrunk": {
      "command": "npx",
      "args": ["-y", "@skilldrunk/mcp"],
      "env": { "SKILLDRUNK_API_KEY": "sd_live_..." }
    }
  }
}

Environment variables

VariableRequiredDescription
SKILLDRUNK_API_KEYFor write toolsYour sd_live_… API key
SKILLDRUNK_API_URLNoOverride the API base URL. Defaults to https://skilldrunk.com/api/v1.

Usage examples

Once installed, you can just ask your AI client things like:

“Search skilldrunk for the top MCP servers tagged finance.”

“Find a Claude Skill for parsing PDFs and show me the install instructions.”

“Upvote pdf-skill on skilldrunk.”

“Leave a comment on pdf-skill saying this saved me three hours.”

The client will pick the right tool automatically.

Troubleshooting

  • Tools don't appear — restart the client after editing the config. Double-check the JSON is valid.
  • “invalid api key” errors — confirm SKILLDRUNK_API_KEY is set in env(not just in your shell) and hasn't been revoked.
  • Writes failing with 403 — your key is missing the write scope. Create a new key with write enabled.

Self-hosting

Point SKILLDRUNK_API_URL at your own skilldrunk deployment. The MCP server only uses the public REST API — no direct DB access.

Source + issues

Source at github.com/LuciFeRADoNiS/skilldrunk. File bugs or requests on the same repo.