@keyid/agent-kit
v0.2.11
Published
KeyID MCP server for agent email, SMS, OTP/TOTP, and signup verification
Downloads
1,262
Maintainers
Readme
@keyid/agent-kit
KeyID MCP for signup sessions, browser continuity, agent email, SMS, OTP/TOTP, persona state, and durable secrets.
Remote-first endpoint: https://keyid.ai/mcp
Local stdio fallback: npx -y @keyid/agent-kit
Why this package
- Hosted remote MCP for OAuth-ready Claude and Cursor connectors
- Local stdio mode when you want to keep the Ed25519 keypair under your control
- Workflow-first tools instead of a raw CRUD-heavy surface
- Generated registry metadata, Smithery config, docs, and example assets from one manifest
Install
Claude Desktop
{
"mcpServers": {
"keyid": {
"command": "npx",
"args": ["-y", "@keyid/agent-kit"]
}
}
}Claude Code
claude mcp add keyid -- npx -y @keyid/agent-kitCursor local
{
"mcpServers": {
"keyid": {
"command": "npx",
"args": ["-y", "@keyid/agent-kit"]
}
}
}Cursor or Claude remote
https://keyid.ai/mcpHosted mode creates a managed install identity for the connector and stores the private key encrypted at rest. Local mode uses the Ed25519 keypair supplied through KEYID_PUBLIC_KEY and KEYID_PRIVATE_KEY, or generates one if they are missing.
Tools (47)
Identity
| Tool | Description |
|------|-------------|
| provision_identity | Create or reveal the email identity for this MCP session. |
| get_identity | Fetch the current KeyID identity, address, phone, and reputation. |
| request_phone_number | Assign a phone number to the current KeyID identity. |
Messages
| Tool | Description |
|------|-------------|
| list_messages | List email or SMS messages with search and inbox filters. |
| wait_for_message | Poll until a matching inbound message arrives. |
| get_message | Fetch the full details for a single message. |
| send_email | Send an email from the current identity. |
| reply_to_message | Reply to a message, optionally as reply-all. |
| update_message | Update message flags such as read or starred state. |
Threads
| Tool | Description |
|------|-------------|
| list_threads | List conversation threads for the current identity. |
| get_thread | Fetch a thread and all of its messages. |
Verification
| Tool | Description |
|------|-------------|
| get_verification_codes | Read OTP or verification codes from a message, or from the latest matching message. |
| follow_verification_link | Follow a verification link directly or from an extracted message link list. |
Signup
| Tool | Description |
|------|-------------|
| start_registration_session | Start a signup session that correlates email, SMS, or TOTP artifacts for one service. |
| list_registration_sessions | List current and historical signup sessions for this identity. |
| get_registration_session | Fetch one signup session, including its latest artifact summary and lease state. |
| wait_for_registration_artifact | Poll a signup session until an artifact arrives or the session expires, blocks, or times out. |
| get_registration_artifacts | Fetch the normalized artifacts attached to a signup session in priority order. |
| save_browser_state | Store cookies and browser session state for a signup session in the KeyID vault. |
| load_browser_state | Load the saved browser state for a signup session. |
| complete_registration_session | Mark a signup session complete after the browser flow succeeds. |
| block_registration_session | Mark a signup session blocked and record why the flow could not continue. |
TOTP
| Tool | Description |
|------|-------------|
| list_totp_entries | List registered authenticator/TOTP entries for the identity. |
| get_totp_code | Generate the current TOTP code for a stored authenticator entry. |
Persona
| Tool | Description |
|------|-------------|
| get_persona | Fetch the synthetic persona used for registrations. |
| create_or_update_persona | Create a persona or update the existing one with explicit overrides. |
| save_registration | Create or update a registration record for an external service. |
| list_registrations | List saved service registrations. |
| get_registration | Fetch one registration record by ID. |
Secrets
| Tool | Description |
|------|-------------|
| list_secrets | List vault keys without exposing secret values. |
| get_secret | Retrieve a decrypted vault entry by key. |
| put_secret | Create or update a vault entry. |
| delete_secret | Delete a vault entry. |
Settings
| Tool | Description |
|------|-------------|
| get_auto_reply | Fetch the current auto-reply configuration. |
| set_auto_reply | Enable, disable, or edit the auto-reply responder. |
| get_forwarding | Fetch the current forwarding address. |
| set_forwarding | Set or clear the forwarding address. |
| get_signature | Fetch the current email signature. |
| set_signature | Set or clear the email signature. |
Contacts
| Tool | Description |
|------|-------------|
| list_contacts | List saved contacts for the identity. |
| upsert_contact | Create a contact by email or update one by contact ID. |
| delete_contact | Delete a contact by ID. |
Webhooks
| Tool | Description |
|------|-------------|
| list_webhooks | List webhook subscriptions for the identity. |
| create_webhook | Create a webhook subscription. |
| get_webhook_deliveries | Inspect recent webhook delivery attempts. |
Insights
| Tool | Description |
|------|-------------|
| get_metrics | Fetch usage metrics for the current identity. |
| get_reputation | Fetch the current reputation score and factor breakdown. |
Prompts (8)
| Prompt | Description |
|--------|-------------|
| set-up-agent-communications | Provision email, inspect identity, and enable the communication settings the user asks for. |
| complete-email-verification | Use the low-level verification tools to watch for one verification message and surface the best link or code. |
| run-signup-session | Start a signup session, keep browser state aligned, and finish or block the flow with explicit state. |
| resume-signup-session | Load saved browser state, continue a paused signup, and wait for the next artifact only if needed. |
| fetch-latest-code | Retrieve the newest verification code from email, SMS, or TOTP. |
| triage-inbox | List recent messages, highlight urgent items, and suggest the safest next reply action. |
| autonomous-signup | Create or update a persona, run a signup session, and record the completed registration with durable state. |
| reply-conservatively | Reply briefly, avoid inventing commitments, and keep tone factual. |
Resources (7)
| Resource | Description |
|----------|-------------|
| keyid://identity/current | Current email, phone, and profile state. |
| keyid://inbox/unread | Recent unread inbound messages. |
| keyid://reputation/current | Current reputation score and factor breakdown. |
| keyid://totp/services | Stored TOTP entries. |
| keyid://registrations/recent | Recent service registrations. |
| keyid://vault/keys | Stored secret keys without their values. |
| keyid://registration-sessions/active | Recent signup sessions for the current identity, newest first. |
Generated metadata
- MCP registry metadata: server.json
- DXT manifest: manifest.json
- Smithery config: smithery.yaml
- MCP docs hub: https://keyid.ai/mcp
Examples
- Claude Desktop local
- Cursor local and remote
- Registration sessions
- Verification workflow
- OTP and TOTP workflow
Changelog
https://github.com/KeyID-AI/KeyID/releases
