MCP

Let AI tools read your documents over the Model Context Protocol.

FusedFrames runs a hosted Model Context Protocol server at https://mcp.fusedframes.com. There is nothing to install or run. Connect an AI tool to the URL and it can search and read your documents. The server is read-only by design, so an agent can never change the documents it depends on, and it works on every plan.

Connect your AI tool

You need an API key; see Authentication to create one. Then add the server to your tool:

claude mcp add --transport http fusedframes https://mcp.fusedframes.com \
  --header "Authorization: Bearer ff_your_key"

Any MCP client that supports a remote (HTTP) server with custom headers works. Use the URL https://mcp.fusedframes.com and an Authorization: Bearer header carrying your key. Authentication is the API key alone: there is no OAuth flow, so a client that can only sign in through OAuth cannot connect.

What the server implements

Streamable HTTP, speaking JSON-RPC 2.0 at the bare domain. /mcp is not a path here; post to https://mcp.fusedframes.com itself.

  • Protocol versions: 2025-06-18, 2025-03-26 and 2024-11-05. The handshake answers with the version you asked for when it is one of those, and with the newest one otherwise.
  • Results carry structuredContent, with the same JSON repeated in a text block so older clients still work.
  • Every tool declares an outputSchema describing the response envelope, and behaviour annotations. All eleven are readOnlyHint: true, so a client need not ask the user before calling one.
  • Errors follow the spec's split. An unknown tool or bad arguments are JSON-RPC errors (-32602) because no tool ran. A failure inside a tool is a result with isError: true, so the model can read it and recover.
  • No SSE stream and no sessions. Every tool answers in one round trip, so a GET returns 405 as the spec prescribes, and the server is stateless: your key on each request is the whole context.

Tools

The server offers tools only, with no resources and no prompts. Every tool is read-only and sees only what your API key can see.

ToolWhat it does
search_documentsStart here. Search every library the key can see.
get_documentFull detail for one document, edges included.
traverse_documentFollow the edges from a document.
get_document_source_recordingsThe source recordings behind a document.
list_librariesList the libraries the key can see.
get_libraryDetail for one library.
list_library_documentsList documents in one library.
library_graphThe whole graph for one library.
library_categoriesCategories with document counts.
library_tagsTags with document counts.
library_applicationsApplications with document counts.

Example prompts

Once connected, ask your AI tool to use FusedFrames:

  • "Search FusedFrames for how we handle a failed payment."
  • "Find the document about onboarding a new customer, then show the documents that usually come next."
  • "What are the categories in our Support library?"

Reading a result

A document's content is its body, one entry per section. The library structure that gives those sections their labels travels alongside, once:

  • get_document carries it inline as schema.
  • list_library_documents and library_graph carry a single schema, since every document came from the library you asked for.
  • search_documents and traverse_document can span libraries, so they carry a schemas map keyed by library id. Render a hit against schemas[hit.library.id], and a traversed node against schemas[node.libraryId].

Limits and permissions

  • MCP calls count against the same rate limits as the API.
  • The get_document_source_recordings tool needs a key with source recordings access; without it the tool returns an error. Even with it, recordings stay private until a member shares them, and on the Individual plan they cannot be shared at all, so an empty result is normal. The response says how many exist (linkedTotal), how many are private (privateTotal) and explains the gap in guidance.
  • search_documents spends AI credit to understand your query. When the workspace is out of AI credit the tool returns a clear error instead of quietly weaker results.
  • Search never returns an empty list. When nothing matches well it returns the most active documents instead, with lowConfidence: true and guidance suggesting how to narrow or rephrase. Treat that flag as "no real answer here" rather than as results.