Built my personal MCP server
Apr 27, 2026 · Day 53
Main outcome of the day: I built my own MCP server and published it for direct use.
IBX parsed snapshot for 2026-04-27
Pulled from IBX CLI:
- done tasks: 4
- open tasks due that day: 0
- done priority split: 3 priority-1, 1 priority-2, 0 priority-3
- estimated effort completed: 3.75 hours
MCP server
Public endpoint:

If anyone wants to connect it in Codex or Claude, these docs are the references:
Tools available (to my current knowledge)
{
"name": "egeuysal-www",
"transport": "MCP streamable HTTP",
"endpoint": "/mcp",
"protocol": {
"method": "POST",
"headers": {
"accept": "application/json",
"content-type": "application/json"
},
"exampleBody": {
"id": 1,
"jsonrpc": "2.0",
"method": "tools/list"
}
},
"tools": {
"get_diary_json": {
"description": "Return this site's /diary.json feed.",
"arguments": {}
},
"get_blog_json": {
"description": "Return this site's /blog.json feed.",
"arguments": {}
},
"get_agents_json": {
"description": "Return this site's /agents.json feed.",
"arguments": {}
},
"get_photo_json": {
"description": "Return this site's /photo.json feed.",
"arguments": {}
},
"search_brain_resources": {
"description": "Search brain.egeuysal.com/api/routes.json across paginated route pages. Returns docs with markdownUrl.",
"arguments": {
"query": "optional text search over title/path/sourcePath",
"routePrefix": "optional prefix such as resources/articles or resources/posts",
"limit": "optional 1-200, default 50",
"maxPages": "optional 1-100, default 50"
}
},
"fetch_brain_resource": {
"description": "Fetch markdown from brain.egeuysal.com. Accepts markdownUrl, page URL, routePath, or /resources path.",
"arguments": {
"urlOrPath": "for example https://brain.egeuysal.com/resources/articles/2026-03-21-133927.md"
}
},
"get_bri_notes": {
"description": "Fetch Bri notes from bri.fyi/api/notes.",
"arguments": {
"query": "optional text search over title/slug/content",
"limit": "optional 1-200, default 50"
}
},
"get_ibx_todos": {
"description": "Fetch IBX todos from ibx.egeuysal.com/api/todos.",
"arguments": {
"today": "optional YYYY-MM-DD, defaults to local America/Chicago date",
"status": "optional all/open/done, default all",
"query": "optional text search over title/notes",
"limit": "optional 1-200, default 50"
}
}
}
}
Takeaway
This was a focused builder day. The main win is shipping the MCP surface so both Codex and Claude can query my real data sources from one place.