Card snapshot
withppl.com
·
2026-10-10 01:32:50 UTC
·
916d4d3719cef7296113e94d27036b43e804db5f263eac1406b1b3bb55d8ddf9
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"name": "ppl",
"description": "The personal CRM for humans with AI agents. Persistent, structured relationship memory your agent can read before acting and write after acting.",
"url": "https://withppl.com",
"version": "1.2.2",
"capabilities": {
"mcp_tools": [
"get_briefing",
"get_wow_feed",
"get_next_action",
"ask_memory",
"remember",
"semantic_search",
"get_person_digest",
"get_suggested_actions",
"log_interaction",
"list_contacts",
"get_contact",
"create_contact",
"import_contacts",
"update_contact",
"delete_contact",
"merge_contacts",
"unmerge_contacts",
"check_duplicates",
"find_contact_duplicates",
"get_contact_timeline",
"create_note",
"list_notes",
"get_note",
"update_note",
"delete_note",
"create_task",
"list_tasks",
"get_task",
"update_task",
"complete_task",
"delete_task",
"create_reminder",
"list_reminders",
"get_reminder",
"update_reminder",
"delete_reminder",
"create_journal_entry",
"list_journal_entries",
"get_journal_entry",
"update_journal_entry",
"delete_journal_entry",
"list_calls",
"get_call",
"create_call",
"update_call",
"delete_call",
"create_gift",
"list_gifts",
"get_gift",
"update_gift",
"delete_gift",
"describe_schema",
"get_voice_profile",
"get_profile_card",
"update_location",
"get_nearby_contacts",
"get_whisper_briefing",
"im_with",
"list_addresses",
"create_address",
"update_address",
"delete_address",
"list_relationships",
"list_relationship_types",
"create_relationship",
"delete_relationship",
"list_contact_fields",
"update_contact_field",
"list_places",
"create_place",
"update_place",
"delete_place",
"list_debts",
"create_debt",
"update_debt",
"delete_debt",
"list_documents",
"upload_document",
"delete_document",
"list_life_events",
"create_life_event",
"update_life_event",
"delete_life_event",
"list_webhook_subscriptions",
"create_webhook_subscription",
"delete_webhook_subscription",
"find_connections",
"list_circles",
"create_circle",
"invite_to_circle",
"send_message",
"read_messages",
"respond_to_message",
"acknowledge_message",
"manage_messaging_policy",
"remove_circle_member",
"update_circle",
"archive_circle",
"invite_connection",
"accept_connection"
],
"mcp_tool_count": 100,
"api_features": [
"one_approval_connect_flow",
"oauth2_dynamic_client_registration",
"contact_enrichment",
"duplicate_detection",
"contact_merge_with_undo",
"relationship_health_tracking",
"agent_inbox_work_queue",
"signed_webhooks",
"bulk_writes",
"delta_sync"
]
},
"authentication": {
"type": "bearer",
"description": "Bearer token. MCP clients can use standard OAuth 2.0 (dynamic client registration, PKCE, refresh tokens; discover at /.well-known/oauth-protected-resource). Agents without OAuth support use the one-approval connect flow: POST /api/agent/connect/request, show the approval URL to the human, poll the status URL, and receive a scoped API token. No manual signup or key copy-paste.",
"connect_url": "https://withppl.com/api/agent/connect/request",
"oauth_protected_resource": "https://withppl.com/.well-known/oauth-protected-resource",
"oauth_authorization_server": "https://withppl.com/.well-known/oauth-authorization-server",
"scopes": [
"agent:briefing",
"agent:actions",
"agent:search",
"read:contacts",
"write:contacts",
"read:journal",
"write:journal",
"read:tasks",
"write:tasks",
"message:send",
"message:read",
"circles:read",
"circles:write"
]
},
"endpoints": {
"mcp": "https://withppl.com/mcp",
"signup": "https://withppl.com/register",
"pricing": "https://withppl.com/pricing",
"blog": "https://withppl.com/blog",
"agents_guide": "https://withppl.com/agents",
"llms_txt": "https://withppl.com/llms.txt",
"discovery": "https://withppl.com/.well-known/ppl.json",
"openapi": "https://withppl.com/openapi.json"
}
}