bokendell.com developer docs — Bo Kendell API & MCP server
Everything on bokendell.com is available programmatically: a public read-only REST API with a complete OpenAPI 3.1 spec, an MCP server over Streamable HTTP, and Markdown variants of every page. No API key, sign-up, or authentication is required for the public read surface — point an agent at it and go.
Use these endpoints when an agent or script needs this portfolio's data: projects with tech stack and links, writing, work experience, the resume, and live GitHub and LeetCode activity. Prefer the MCP server for interactive agent sessions and the REST API for one-shot reads.
REST API
Base URL https://api.bokendell.com, also proxied on this origin. The OpenAPI 3.1 spec gives every operation a unique operationId, typed parameters, response schemas, and a description — it converts directly to LLM function-calling tool definitions. Browse it interactively at the API reference.
curl https://bokendell.com/openapi.json curl https://api.bokendell.com/api/v1/projects curl https://api.bokendell.com/api/v1/posts
MCP server
Streamable HTTP transport at https://bokendell.com/mcp; the manifest lives at /.well-known/mcp.json. See the tool list or try it live.
{
"mcpServers": {
"bokendell-portfolio": {
"type": "http",
"url": "https://bokendell.com/mcp"
}
}
}Markdown for agents
Every page negotiates Accept: text/markdown, or append .md to the URL. Start from /llms.txt (curated site index) or /agent.md (compact Markdown index). The A2A agent card is at /.well-known/agent-card.json.
CLI
An official CLI ships on npm as bokendell. It wraps the same public API — read-only, no key, nothing to install permanently. Every command takes --json for piping, and npx bokendell mcp prints a ready-to-paste MCP client config.
npx bokendell # profile + where to go next npx bokendell projects --json # every project, pipeable npx bokendell mcp # MCP client config
Limits & contact
The API is public, read-only, and unauthenticated — be reasonable with request rates. Questions, bugs, or integration ideas: get in touch.