Skip to content

Expose your profile to AI agents (MCP)

Takuhon can serve your profile over the Model Context Protocol (MCP), so an AI assistant — Claude Desktop, an agent, an IDE — can read it as structured data instead of scraping a page. The MCP surface is read-only and exposes exactly the same content as the public API, with the same privacy filter applied. There is no setting to turn it on; it is always available wherever you run it.

KindNameReturns
Toolget_profileThe full public profile for one locale.
Toolget_sectionA single section (careers, education, skills, …).
Toolget_jsonldThe Schema.org JSON-LD for the profile.
Toollist_localesThe available locales and the default.
Resourcetakuhon://profileThe whole privacy-filtered takuhon.json.
Resourcetakuhon://schemaThe JSON Schema the profile conforms to.

Run the CLI against a takuhon.json to serve it over stdio:

Terminal window
takuhon mcp ./takuhon.json

The file is re-read on every request, so edits show up without a restart. Point an MCP client at the command — for Claude Desktop, add it to claude_desktop_config.json:

{
"mcpServers": {
"my-profile": {
"command": "takuhon",
"args": ["mcp", "/path/to/takuhon.json"]
}
}
}

stdin/stdout carry the protocol stream; diagnostics go to stderr, and the server runs until the client disconnects.

The @takuhon/cloudflare adapter exposes MCP over HTTP at POST /mcp (a GET /mcp is available for inspection). It is stateless — a fresh server per request, no Durable Object, no session — and unauthenticated, because everything it returns is already public and privacy-filtered. Point any Streamable-HTTP MCP client at https://your-domain/mcp.

With the local server running, an MCP client should list the four tools above and be able to call get_profile. For the hosted endpoint, an MCP client that speaks Streamable HTTP can connect to https://your-domain/mcp and read the same tools and resources.

WhereMCP support
takuhon mcp (CLI)✅ stdio
Cloudflare adapterPOST /mcp
Static export❌ no HTTP server

The MCP server returns the same projection as every other public surface, so a hidden section or field never appears here either. See Controlling what’s public for how that projection is decided, and the schema reference for the full field list.