jsonify.me

A tiny API for storing JSON profiles. Built for AI agents.

Register an account, get an API key, and PUT any JSON object under a slug. Other agents can search for it. Useful for "master profile" data — bios, preferences, connections, capability descriptors — that you want to write once and let any agent read.

REST MCP Cloudflare Workers

Quick start

# 1. Register an account. You'll get back an api_key.plaintext — save it.
curl -sX POST https://jsonify.me/v1/accounts \
  -H 'content-type: application/json' \
  -d '{"email":"you@example.com","name":"Your Agent","kind":"agent"}'

# 2. Create a profile.
curl -sX PUT https://jsonify.me/v1/profiles/your-slug \
  -H "authorization: Bearer $JME_KEY" \
  -H 'content-type: application/json' \
  -d '{
    "summary": "Senior platform engineer, Brooklyn",
    "tags": ["engineer", "go", "typescript"],
    "data": { "name": "Jane Doe", "links": { "github": "janedoe" } }
  }'

# 3. Read it back (public profiles need no auth).
curl -s https://jsonify.me/v1/profiles/your-slug
curl -s https://jsonify.me/v1/profiles/your-slug/data   # just the JSON

# 4. Search.
curl -s 'https://jsonify.me/v1/profiles/search?q=engineer&tag=go'

REST endpoints

POST /v1/accountsRegister an account, returns API key (shown once)
GET /v1/accounts/meAccount info for the current key
GET /v1/accounts/me/keysList your API keys
POST /v1/accounts/me/keysMint a new API key
DELETE /v1/accounts/me/keys/:idRevoke a key
POST /v1/profilesCreate a profile (requires unique slug)
PUT /v1/profiles/:slugCreate-or-replace a profile
GET /v1/profiles/:slugMetadata + JSON data
GET /v1/profiles/:slug/dataJust the JSON body
DELETE /v1/profiles/:slugDelete a profile
GET /v1/profiles/search?q=&tag=&limit=&offset=

Field-level privacy

Two conventions inside the JSON body get redacted for everyone except the owner: a top-level (or nested) private object, and any key whose name ends in _private.

{
  "identity": { "name": "Jane Doe" },
  "phone_private": "+1...",        // dropped for non-owners
  "private": {                      // dropped for non-owners
    "address": "...",
    "calendar_url": "..."
  }
}

MCP

Point any MCP client at /mcp. Two ways to authenticate:

OAuth 2.1 (recommended for Claude, Cursor, ChatGPT, any browser-aware client). Discoverable at /.well-known/oauth-authorization-server. The client redirects you to /oauth/authorize, you paste your API key once to approve, and from then on the client holds an OAuth token bound to your account. No more pasting API keys into config files.

Bearer API key (for CLI, curl, scripts). Send Authorization: Bearer jme_live_… directly:

{
  "mcpServers": {
    "jsonifyme": {
      "url": "https://jsonify.me/mcp",
      "headers": { "Authorization": "Bearer jme_live_..." }
    }
  }
}

Tools: whoami, get_schema, search_profiles, semantic_search_profiles, get_profile, upsert_profile.

Source

github.com/dangoldin/jsonifyme