Endpoint
MCP endpoint: https://barkleesanders.com/mcp
Transport: MCP Streamable HTTP, stateless. Send JSON-RPC 2.0 requests with POST, Content-Type: application/json, and Accept: application/json, text/event-stream. Each request is served by a fresh server instance; no session is created and no Mcp-Session-Id is required. Protocol version 2025-06-18 is supported.
Health check: GET https://barkleesanders.com/mcp/health returns {"ok":true,"server":"barkleesanders","version":"1.0.0","tools":6}.
Discovery file: https://barkleesanders.com/.well-known/mcp.json.
No authentication is required. Version 1.0.0 exposes public information only: every tool returns content already published on barkleesanders.com. No personal data is read or written, and the server holds no user data. An Authorization header, if sent, is ignored.
All 6 tools are read-only and deterministic. Each returns a text content block containing JSON, and the same object as structuredContent.
get_profile
Returns Barklee Sanders' public profile — name, job title, location, tagline, description, public contact email, and sameAs links — plus his full experience list and skills categories, all as published on barkleesanders.com. Use this for orientation questions about who Barklee is, where he has worked, and what he works with. No input.
Input schema:
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}
list_projects
Lists the projects published on barkleesanders.com as compact records {id, name, tagline, status, url}. Optional `status` filters to Live, Building, or Archive; omit it to list all. Use get_project with an id from here for the full description.
Input schema:
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"status": {
"description": "Optional project status filter: Live, Building, or Archive.",
"type": "string",
"enum": [
"Live",
"Building",
"Archive"
]
}
}
}
get_project
Returns the full published record for one project, including its description. `id` must be an id from list_projects; an unknown id returns a tool error naming the valid ids.
Input schema:
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Project id, from list_projects."
}
},
"required": [
"id"
]
}
list_posts
Lists the published (Live) field reports on barkleesanders.com as compact records {slug, title, tagline, date, readingMinutes, url}. Optional `limit` caps how many are returned. Draft and archived posts are never listed. Use read_post with a slug from here for the full text.
Input schema:
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"description": "Optional maximum number of posts to return (1–50).",
"type": "integer",
"minimum": 1,
"maximum": 50
}
}
}
read_post
Returns one published field report rendered as markdown: title, date, description, then its sections (body paragraphs, stats, rows, pull quotes) in order. `slug` must be a slug from list_posts; a Draft, Archive, or unknown slug returns a tool error.
Input schema:
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "Post slug, from list_posts."
}
},
"required": [
"slug"
]
}
get_public_links
Returns the published link set from barkleesanders.com — LinkedIn, GitHub, book-a-meeting, email, and blog — as {label, href, primary} records, with relative hrefs resolved to absolute URLs. No input. There is no write path: agents contact Barklee through these published channels, as a human visitor would.
Input schema:
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}
Example
Initialize:
POST https://barkleesanders.com/mcp
Content-Type: application/json
Accept: application/json, text/event-stream
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": {},
"clientInfo": {
"name": "your-client",
"version": "1.0.0"
}
}
}
Call a tool:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_project",
"arguments": {
"id": "aivaclaims"
}
}
}