Skip to main content
SkillDiscs exposes a production Model Context Protocol (MCP) server for read-only access to your API-visible Disks. Use MCP when your agent client already supports remote tools. Use the REST API when you are building your own app, backend job, workflow, or integration.

Endpoint

The endpoint uses Streamable HTTP transport. In MCP client configuration, use type: "http" or transport: "http" depending on the client.

Authentication

Send your SkillDiscs API key as a bearer token:
Generate keys in Settings -> API Keys.
Treat MCP API keys like passwords. Anyone holding the key can query API-visible data from your SkillDiscs library.

Quick Setup

Claude Code

Claude Code can connect directly to remote HTTP MCP servers.
Then verify the connection inside Claude Code:

JSON MCP Config

Use this shape for clients that read .mcp.json, ~/.claude.json, or a similar MCP config file:
Store the key in your environment instead of committing it:

Claude Agent SDK

When using an SDK that accepts MCP servers programmatically, pass the same HTTP endpoint and authorization header:
If your client asks for allowed tool names, SkillDiscs tools follow the standard MCP naming pattern:

Tools

All tools return MCP text content whose text value is formatted JSON.

Discovery ladder

An agent with no screen — a voice agent especially — cannot start with search_knowledge, because it does not yet know what the library contains. The three discovery tiers are meant to be walked in order:
list_topics and browse_topic are both plain indexed reads over data that already exists (categories, AI tags, concept labels). Neither makes an AI call. browse_topic only pays for an embedding when the topic matches nothing lexically, so the common path stays fast enough for a spoken turn.

list_topics

The broad map of the library. Call this before anything else when the user asks what is available.

Input

Output

topic is the stable category id (use it for list_disks.category); label is the display string. subtopics are the AI tags that occur most often inside that topic — these are the specific names an agent can say out loud. Disks whose original was deleted by their owner are excluded: they are placeholders with no title, category or content.

browse_topic

Resolve one plain-language topic name to the Disks about it. Resolution is tiered, and the tier used is reported in resolved_as:

Input

Output

matched_on says why each Disk is in the list, so an agent can justify the answer instead of asserting relevance. related_subtopics are the sibling tags of the matched set with the query term removed — the next thing to offer when the user wants to narrow down. browse_topic returns metadata only. It never returns source text, so it is safe to call on any Disk regardless of visibility. title and summary are returned as plain speakable text: markdown syntax is stripped (link text is kept, the URL dropped) and the hard line breaks that Disk titles carry for card layout are collapsed. Accents and umlauts are left untouched. The same applies to example_titles in list_topics. A voice agent can read these fields aloud without any cleanup pass.

search_knowledge

Semantic search over owned Disk sections.

Input

Output

The tool returns a JSON array of search hits.
For redacted hits, use snippet instead of section_text:
Search is currently scoped to owned Disks. Saved Disks can be listed with list_disks and read with get_disk, but semantic search results come from the authenticated user’s own indexed sections.

get_disk

Read one Disk by UUID or public_id.

Input

Output

The tool returns one Disk object.
Full text and sections[].text are conditional: If the Disk is not accessible to the API key, the tool returns JSON text like:

list_disks

List Disks available to the authenticated API key.

Input

Output

The tool returns a list response:
Scope behavior:

Redaction

MCP uses the same redaction policy as the REST API:
  • Owner-private Disk access can include full source text.
  • Owner-published and saved Disk access returns redacted, AI-derived fields.
  • Search hits include either section_text or snippet.
Always check redacted before assuming verbatim source text is present.

Errors

Authentication and rate-limit errors are returned by the HTTP endpoint before MCP tool execution.

Best Practices

  • Start with list_topics when the agent has no idea what the library contains — do not guess a search query.
  • Use browse_topic when the user names a subject; use search_knowledge when the user asks a question.
  • Use get_disk when the agent already has a Disk UUID or public ID.
  • Use list_disks for inventory questions (counts, what is still private), not for subject exploration.
  • For voice agents: list_topicsbrowse_topic are the two calls cheap enough to run inside a spoken turn. Defer search_knowledge until the user has picked a Disk or asked a real question.
  • Treat all returned content as user-scoped and private to the API key holder.
  • Check redacted and prefer section_text ?? snippet in agent prompts.