Launching Daemon: A Personal API

A public API endpoint for who we are and what we're up to
August 1, 2025

Personal daemon visualization

Super hyped to be launching the first version of Daemon today!

My daemon is a personal API that anyone—or any AI—can query to learn about me, my projects, and what I'm working on.

I first talked about this concept in 2016 in my book The Real Internet of Things.

Here I talk about the API-ification of things in general:

So this is the first building block: every object has a daemon—An API to the world that all other objects understand. Any computer, system, or even a human with appropriate access, can look at any other object's daemon and know precisely how to interact with it, what its status is, and what it's capable of. The Real Internet of Things, 2016

And then here I talk about personal daemons specifically:

Most importantly, humans themselves will also have daemons, and we'll be moving through a world full of other daemons. Human daemons will hold all information about a person, compartmentalized based on type, sensitivity, access restrictions, etc., and that data will be used to send hyper-personalized requests to the daemons around us. The Real Internet of Things, 2016

Why a Personal API?

I have thought since around 2014 that The future of tech was to have a massive number of APIs which are navigated not by humans but by our AI-powered digital Assistants. And to me this is amazing not just because of the tech, but because it allows us to to connect as humans!

Daemon is my early version of this—a public endpoint that serves up-to-date information about me in a format that both humans and AIs can use.

Architecture

The Daemon architecture on the Cloudflare MCP

I recently wrote about deploying MCP servers on Cloudflare Workers, which is the approach I'm using for Daemon. This lets me run MCP servers at the edge, globally distributed, without managing any infrastructure.

And here's a rough breakdown of how interactions work.

Daemon MCP architecture on Cloudflare Workers

Daemon MCP architecture on Cloudflare Workers (click for full size)

How to Use It

Daemon runs as an MCP (Model Context Protocol) server at https://daemon.danielmiessler.com. Here's how to interact with it:

Get Available Tools

First, see what endpoints are available:

bash
curl -X POST https://daemon.danielmiessler.com \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/list",
    "id": 1
  }'

This returns a list of all available tools:

json
{
  "jsonrpc": "2.0",
  "result": {
    "tools": [
      {
        "name": "get_about",
        "description": "Get basic information about Daniel Miessler"
      },
      {
        "name": "get_telos",
        "description": "Get Daniel's TELOS framework - problems, missions, goals"
      },
      // ... more tools
    ]
  },
  "id": 1
}

Call a Tool

To get information from a specific endpoint, like my TELOS (purpose framework):

bash
curl -X POST https://daemon.danielmiessler.com \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_telos",
      "arguments": {}
    },
    "id": 2
  }'

This returns my TELOS framework data:

json
{
  "jsonrpc": "2.0",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "TELOS is my personal framework for tracking purpose and direction in life...\n\nProblems (P):\n- P1: People lack meaning in their lives...\n- P2: People are stuck in a 1950's style hierarchical mindset...\n\nMissions (M):\n- M1: Increase human Eudaimonia...\n- M2: Build systems—heavily leveraging AI..."
      }
    ]
  },
  "id": 2
}

MCP Configuration

If you want to add Daemon to your Claude Code or other MCP-compatible tools, add this to your MCP config:

json
{
  "mcpServers": {
    "daemon": {
      "url": "https://daemon.danielmiessler.com"
    }
  }
}

Available Endpoints

Here's what you can query through Daemon:

  • get_about - Basic information about me and what I do
  • get_narrative - My personal narrative and focus areas
  • get_mission - What I'm trying to accomplish
  • get_projects - My current projects
  • get_telos - My TELOS framework (Problems, Missions, Goals, Metrics)
  • get_favorite_books - My favorite books
  • get_favorite_movies - My favorite movies
  • get_current_location - Where I am currently
  • get_preferences - Personal preferences and work style
  • get_all - Get all available data at once
  • get_section - Get a specific section by name

What's Next

This is version 0.1 of Daemon. I plan to expand it with more endpoints, real-time updates, and tons more. So many ideas.

I'm also working on a full guide on how to set this up for yourself or any other entity that you think needs an API.

Notes

  1. The daemon.md file updates are synced via a simple update script that parses the markdown and uploads to Cloudflare KV. And I can actually just give Kai (my digital assistant) verbal updates and he makes all the changes and pushes them within a couple of seconds!

  2. Kai retrieved the header image from my "AI's Predictable Path" post and created all the diagrams you see in this post automatically based on the text. If you want to read more about that, check out my personal AI infrastructure post.

Thank you for reading...