localskillsai

Localskills MCP server

Localskills.ai exposes an MCP server so any Model Context Protocol-compatible agent (Claude Code, Claude desktop, Cursor, others) can search, fetch, and install regional skills natively. No CLI to typosquat. No npm package to maintain. Just one HTTPS endpoint your agent talks to.

Endpoint

https://localskills.ai/api/mcp

Stateless. Web-standard Streamable HTTP. No auth required for reads.

Install

Claude Code

# ~/.claude/mcp.json (or .claude/mcp.json per-project)
{
  "mcpServers": {
    "localskills": {
      "type": "http",
      "url": "https://localskills.ai/api/mcp"
    }
  }
}

Claude desktop

Open Settings → Developer → Edit MCP servers and add:

{
  "mcpServers": {
    "localskills": {
      "transport": {
        "type": "http",
        "url": "https://localskills.ai/api/mcp"
      }
    }
  }
}

Cursor

Settings → MCP Servers → Add new:

Name: localskills
Type: http
URL:  https://localskills.ai/api/mcp

Tools

search_skills(query, region?, category?)

Full-text search across name + description + tags. Optionally filter by country (2-letter code) or category slug. Returns up to 20 matches.

list_regions()

Every country that currently has at least one indexed skill, with counts. Useful for "where do we even have coverage?" before searching.

list_categories()

The 12 curated categories with one-line descriptions.

get_skill(region, slug)

The full manifest, README, and SKILL.md for one skill. Use this when you want to apply a skill inline to the current conversation, or before recommending installation.

recommend_for_task(task_description, region?)

Plain-English task description in; ranked list of up to 5 candidate skills out. Keyword-overlap ranking for MVP — verify with get_skill before applying. Becomes semantic when we add pgvector.

install_instructions(region, slug, tool)

Returns the exact file content + target path for installing the skill into a specific agent (claude-code, claude-desktop, cursor, copilot, windsurf, codex, gemini). The agent can use this to install on the user's behalf (with their consent) or show the user a copy-paste command.

Try it (raw JSON-RPC)

curl -X POST https://localskills.ai/api/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "search_skills",
      "arguments": { "query": "refund" }
    }
  }'

Privacy

We don't log MCP calls beyond standard server-access logs (request URL + timestamp). No request payloads, no user-content storage, no tracking IDs. The MCP endpoint runs stateless — every request is independent. If you call search_skills with a sensitive query in task_description, it isn't retained.

Permissions model

The MCP server is read-only. It cannot install skills on a user's machine. All it returns is content + instructions — the agent (and the user) decides whether to write anything to disk.

For agents installing on behalf of users: read the skill's declared permissions (permissions.fileSystem, permissions.network, permissions.shell) before applying. They're in every get_skill response.

See also