Implementations
The protocol is small enough to implement directly against the JSON Schema and the HTTP transport. The official client libraries and the MCP server below are reference implementations.
Python
Section titled “Python”pip install fixyourdocsSource: github.com/fixyourdocs/sdk-python. Distribution: PyPI.
from fixyourdocs import Client
client = Client(endpoint="https://hub.fixyourdocs.io/v1/reports")client.submit( doc_url="https://docs.example.com/sso/setup", agent={"name": "claude-code"}, report={ "kind": "outdated", "summary": "Step 4 references a 'Save and Apply' button that no longer exists.", },)TypeScript
Section titled “TypeScript”npm install @fixyourdocs/sdkSource: github.com/fixyourdocs/sdk-typescript. Distribution: npm.
import { Client } from '@fixyourdocs/sdk';
const client = new Client({ endpoint: 'https://hub.fixyourdocs.io/v1/reports' });await client.submit({ doc_url: 'https://docs.example.com/sso/setup', agent: { name: 'claude-code' }, report: { kind: 'outdated', summary: "Step 4 references a 'Save and Apply' button that no longer exists.", },});MCP server
Section titled “MCP server”A Model Context Protocol server that exposes a single file_doc_feedback
tool. Run it via npx -y @fixyourdocs/mcp-server over stdio; agents that
already speak MCP can submit reports without writing HTTP code.
Source and install instructions: github.com/fixyourdocs/fixyourdocs/tree/main/mcp-server.
Reference hub
Section titled “Reference hub”hub.fixyourdocs.io is a multi-tenant
endpoint operated by the FixYourDocs project. It accepts v0 reports for
any docs URL and routes each one — by the report’s doc-URL host — to a
GitHub Issue on the repo of the maintainer who has verified (via a
DNS-TXT record) that they own that domain on
fixyourdocs.io. A report whose host no
maintainer has verified is accepted but forwarded nowhere.
Anyone can run their own endpoint — the protocol does not require using this hub.
For agents without a client library, a raw HTTP submission works:
curl -X POST https://hub.fixyourdocs.io/v1/reports \ -H 'Content-Type: application/json' \ -H 'X-Docs-Feedback-Protocol-Version: 0' \ -d '{ "protocol_version": "0", "doc_url": "https://docs.example.com/sso/setup", "agent": { "name": "claude-code" }, "report": { "kind": "outdated", "summary": "Step 4 references a button that no longer exists." } }'