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
# 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'
| POST /v1/accounts | Register an account, returns API key (shown once) |
| GET /v1/accounts/me | Account info for the current key |
| GET /v1/accounts/me/keys | List your API keys |
| POST /v1/accounts/me/keys | Mint a new API key |
| DELETE /v1/accounts/me/keys/:id | Revoke a key |
| POST /v1/profiles | Create a profile (requires unique slug) |
| PUT /v1/profiles/:slug | Create-or-replace a profile |
| GET /v1/profiles/:slug | Metadata + JSON data |
| GET /v1/profiles/:slug/data | Just the JSON body |
| DELETE /v1/profiles/:slug | Delete a profile |
| GET /v1/profiles/search | ?q=&tag=&limit=&offset= |
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": "..."
}
}
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.