ShortlistLens
Structured website and review evidence for AI-assisted local-business shortlisting.
Crawler Summary
Control Thunderbird email, contacts, calendar, and filters via MCP. Use for reading/searching emails, composing/replying/forwarding, managing folders and filters, searching contacts, and listing calendars. Requires Thunderbird running with the thunderbird-mcp extension. --- name: thunderbird description: Control Thunderbird email, contacts, calendar, and filters via MCP. Use for reading/searching emails, composing/replying/forwarding, managing folders and filters, searching contacts, and listing calendars. Requires Thunderbird running with the thunderbird-mcp extension. metadata: { "openclaw": { "emoji": "⛈️", "requires": { "anyBins": ["curl", "jq"] } } } --- Thunderbird Email Skill Capability contract not published. No trust telemetry is available yet. Last updated 2/24/2026.
Freshness
Last checked 2/24/2026
Best For
thunderbird is best for general automation workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
Control Thunderbird email, contacts, calendar, and filters via MCP. Use for reading/searching emails, composing/replying/forwarding, managing folders and filters, searching contacts, and listing calendars. Requires Thunderbird running with the thunderbird-mcp extension. --- name: thunderbird description: Control Thunderbird email, contacts, calendar, and filters via MCP. Use for reading/searching emails, composing/replying/forwarding, managing folders and filters, searching contacts, and listing calendars. Requires Thunderbird running with the thunderbird-mcp extension. metadata: { "openclaw": { "emoji": "⛈️", "requires": { "anyBins": ["curl", "jq"] } } } --- Thunderbird Email Skill
Public facts
4
Change events
1
Artifacts
0
Freshness
Feb 24, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 24, 2026
Vendor
Kri8tivemike
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/Kri8tivemike/thunderbird-mcp-skill.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Kri8tivemike
Protocol compatibility
MCP
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
bash
/Users/kri8tivemike/clawd/skills/thunderbird/thunderbird.sh <command> [args]
bash
curl -sf -X POST http://localhost:8765 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"TOOL","arguments":{...}}}'bash
curl -sf -X POST http://localhost:8765 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"TOOL","arguments":{...}}}'bash
thunderbird.sh listAccounts
bash
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"listFolders","arguments":{"accountId":"account1"}}}'bash
# All folders
thunderbird.sh listFolders
# Single account only
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"listFolders","arguments":{"accountId":"account1"}}}'Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Control Thunderbird email, contacts, calendar, and filters via MCP. Use for reading/searching emails, composing/replying/forwarding, managing folders and filters, searching contacts, and listing calendars. Requires Thunderbird running with the thunderbird-mcp extension. --- name: thunderbird description: Control Thunderbird email, contacts, calendar, and filters via MCP. Use for reading/searching emails, composing/replying/forwarding, managing folders and filters, searching contacts, and listing calendars. Requires Thunderbird running with the thunderbird-mcp extension. metadata: { "openclaw": { "emoji": "⛈️", "requires": { "anyBins": ["curl", "jq"] } } } --- Thunderbird Email Skill
Full email control via the thunderbird-mcp extension running inside Thunderbird.
open -a Thunderbird && sleep 5curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq '.result.tools | length' — should return 19All tools go through thunderbird.sh. It's on the allowlist — no approval needed.
/Users/kri8tivemike/clawd/skills/thunderbird/thunderbird.sh <command> [args]
Or use curl directly for complex payloads (also allowlisted):
curl -sf -X POST http://localhost:8765 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"TOOL","arguments":{...}}}'
| Account ID | Email | Type |
|------------|-------|------|
| account1 | [email protected] | IMAP (business) |
| account4 | [email protected] | IMAP (personal) |
| account2 | Local Folders | local |
Default identity for account1: id1 — "CreativeMansion"
Default identity for account4: id2 — "Michael J Iguariede"
| Folder | Path |
|--------|------|
| Inbox | imap://Creativemansion91%[email protected]/INBOX |
| All Mail | imap://Creativemansion91%[email protected]/[Gmail]/All Mail |
| Sent | imap://Creativemansion91%[email protected]/[Gmail]/Sent Mail |
| Drafts | imap://Creativemansion91%[email protected]/[Gmail]/Drafts |
| Spam | imap://Creativemansion91%[email protected]/[Gmail]/Spam |
| Trash | imap://Creativemansion91%[email protected]/[Gmail]/Trash |
| Starred | imap://Creativemansion91%[email protected]/[Gmail]/Starred |
| Important | imap://Creativemansion91%[email protected]/[Gmail]/Important |
| Folder | Path |
|--------|------|
| Inbox | imap://michaeliguariede%[email protected]/INBOX |
| All Mail | imap://michaeliguariede%[email protected]/[Gmail]/All Mail |
| Sent | imap://michaeliguariede%[email protected]/[Gmail]/Sent Mail |
| Drafts | imap://michaeliguariede%[email protected]/[Gmail]/Drafts |
| Spam | imap://michaeliguariede%[email protected]/[Gmail]/Spam |
| Trash | imap://michaeliguariede%[email protected]/[Gmail]/Trash |
| Calendar ID | Name | Type |
|-------------|------|------|
| c7f602ac-c7cd-4053-88ef-e8dd5b2d0c25 | [email protected] | CalDAV |
| 4e671ea1-e111-4861-ba9b-80becdbf9a25 | Holidays in Nigeria | CalDAV |
| f6c27660-f0a2-4b20-a696-bbcd966d3866 | Home | local storage |
List all email accounts and identities.
thunderbird.sh listAccounts
List all folders with message counts. Optionally filter by account.
# All folders
thunderbird.sh listFolders
# Single account only
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"listFolders","arguments":{"accountId":"account1"}}}'
Search by subject, sender, recipient, or body. Returns message IDs and folder paths for use with getMessage.
Parameters:
query (required) — text to search. Use "" to match all.folderPath — limit to one folderstartDate / endDate — ISO 8601 datesmaxResults — default 50, max 200sortOrder — "asc" or "desc" (default)# Search by keyword
thunderbird.sh searchMessages "invoice"
# Search in specific folder
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"searchMessages","arguments":{"query":"payment","folderPath":"imap://Creativemansion91%[email protected]/INBOX","maxResults":20}}}'
# Search by date range
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"searchMessages","arguments":{"query":"","startDate":"2026-02-01","endDate":"2026-02-22","maxResults":50}}}'
Response includes: messageId, folderPath, subject, author, date, read — save these for getMessage/replyToMessage/forwardMessage.
Read full email content by ID. Get messageId and folderPath from searchMessages first.
thunderbird.sh getMessage "<messageId>"
# With attachment saving
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getMessage","arguments":{"messageId":"<id>","folderPath":"<path>","saveAttachments":true}}}'
Attachments saved to /tmp/thunderbird-mcp/<messageId>/
Get recent messages without needing to search first.
Parameters:
folderPath — defaults to all Inboxes if omitteddaysBack — default 7maxResults — default 50, max 200unreadOnly — default false# Last 7 days, all inboxes
thunderbird.sh getRecentMessages
# Last 3 days, unread only, CM inbox
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getRecentMessages","arguments":{"folderPath":"imap://Creativemansion91%[email protected]/INBOX","daysBack":3,"unreadOnly":true}}}'
Opens a pre-filled compose window in Thunderbird — Michael reviews and clicks Send. Does NOT send silently.
Parameters:
to (required), subject (required), body (required)from — identity email or ID (e.g. "[email protected]" or "id1")cc, bcc — comma-separatedisHtml — default falseattachments — array of file pathsthunderbird.sh sendMail "[email protected]" "Project Update" "Hi, here is the update..."
# From specific account
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d "$(jq -n '{jsonrpc:"2.0",id:1,method:"tools/call",params:{name:"sendMail",arguments:{to:"[email protected]",subject:"Invoice",body:"Please find attached.",from:"[email protected]",attachments:["/Users/kri8tivemike/Documents/invoice.pdf"]}}}')"
⚠️ This opens a compose window — Michael must click Send. Always confirm before calling if Michael hasn't explicitly asked to send.
Opens a reply compose window. Get messageId + folderPath from searchMessages.
Parameters:
messageId (required), folderPath (required), body (required)replyAll — default falseto, cc, bcc, from, isHtml, attachmentsthunderbird.sh replyToMessage "<messageId>" "Thanks for reaching out. I'll get back to you shortly."
# Reply-all with HTML
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d "$(jq -n --arg id '<messageId>' --arg fp '<folderPath>' '{jsonrpc:"2.0",id:1,method:"tools/call",params:{name:"replyToMessage",arguments:{messageId:$id,folderPath:$fp,body:"<b>Thank you</b>",replyAll:true,isHtml:true}}}')"
Opens a forward compose window.
Parameters:
messageId (required), folderPath (required), to (required)body, cc, bcc, from, isHtml, attachmentsthunderbird.sh forwardMessage "<messageId>" "[email protected]"
Mark read/unread, flag/unflag, move to folder, or trash a message.
Parameters:
messageId (required), folderPath (required)read — true/falseflagged — true/falsemoveTo — destination folder pathtrash — true (cannot combine with moveTo)# Mark as read
thunderbird.sh updateMessage "<messageId>" "read" "true"
# Move to folder
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d "$(jq -n --arg id '<messageId>' --arg fp '<folderPath>' '{jsonrpc:"2.0",id:1,method:"tools/call",params:{name:"updateMessage",arguments:{messageId:$id,folderPath:$fp,moveTo:"imap://Creativemansion91%[email protected]/[Gmail]/Important"}}}')"
# Send to trash
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d "$(jq -n --arg id '<messageId>' --arg fp '<folderPath>' '{jsonrpc:"2.0",id:1,method:"tools/call",params:{name:"updateMessage",arguments:{messageId:$id,folderPath:$fp,trash:true}}}')"
Moves messages to Trash (not permanent).
Parameters:
messageIds (required) — array of IDsfolderPath (required)thunderbird.sh deleteMessages "<messageId>"
# Multiple messages
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"deleteMessages","arguments":{"messageIds":["id1","id2"],"folderPath":"<path>"}}}'
Create a subfolder under an existing folder.
Parameters:
parentFolderPath (required) — URI from listFoldersname (required)thunderbird.sh createFolder "Projects" "imap://Creativemansion91%[email protected]/INBOX"
List all filter rules for an account.
# All accounts
thunderbird.sh listFilters
# Specific account
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"listFilters","arguments":{"accountId":"account1"}}}'
Response includes filterIndex — needed for updateFilter/deleteFilter/reorderFilters.
Create a mail filter rule.
Parameters:
accountId, name, conditions (array), actions (array)enabled — default truetype — bitmask: 1=inbox, 16=manual, 17=both (default)insertAtIndex — 0 = highest priorityCondition attrib values: subject, from, to, cc, toOrCc, body, date, size, hasAttachment, junkStatus, tag
Condition op values: contains, doesntContain, is, isnt, beginsWith, endsWith, isGreaterThan, isLessThan
Action type values: moveToFolder, copyToFolder, markRead, markUnread, markFlagged, addTag, delete, forward, stopExecution
# Move emails from client to folder
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"createFilter","arguments":{"accountId":"account1","name":"Client Emails","conditions":[{"attrib":"from","op":"contains","value":"@clientdomain.com"}],"actions":[{"type":"moveToFolder","value":"imap://Creativemansion91%[email protected]/INBOX/Clients"},{"type":"markRead"}]}}}'
Modify an existing filter. Get filterIndex from listFilters.
thunderbird.sh updateFilter "<accountId>" "<filterIndex>" "enabled" "false"
Delete a filter by index.
thunderbird.sh deleteFilter "<accountId>" "<filterIndex>"
Change filter execution priority. Index 0 = highest.
thunderbird.sh reorderFilters "<accountId>" "<fromIndex>" "<toIndex>"
Run all enabled filters on a folder immediately (processes existing messages).
thunderbird.sh applyFilters "imap://Creativemansion91%[email protected]/INBOX"
# Must pass accountId + folderPath via curl for this tool
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"applyFilters","arguments":{"accountId":"account1","folderPath":"imap://Creativemansion91%[email protected]/INBOX"}}}'
thunderbird.sh listCalendars
Returns the live calendar list with IDs (see Calendars section above).
Opens a pre-filled event dialog in Thunderbird — Michael reviews before saving.
Parameters:
title (required), startDate (required) — ISO 8601endDate — defaults to start + 1hlocation, descriptioncalendarId — defaults to first writable ([email protected])allDay — default falsethunderbird.sh createEvent "Client Meeting" "2026-02-25T14:00:00" "2026-02-25T15:00:00"
# With location and calendar
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d "$(jq -n '{jsonrpc:"2.0",id:1,method:"tools/call",params:{name:"createEvent",arguments:{title:"Design Review",startDate:"2026-02-25T10:00:00",endDate:"2026-02-25T11:00:00",location:"Zoom",calendarId:"c7f602ac-c7cd-4053-88ef-e8dd5b2d0c25"}}}')"
Search contacts from all address books.
thunderbird.sh searchContacts "John"
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getRecentMessages","arguments":{"daysBack":1,"unreadOnly":true,"maxResults":20}}}' \
| python3 -c "import sys,json; msgs=json.loads(json.load(sys.stdin)['result']['content'][0]['text']); [print(m['date'][:10], m['author'][:30], m['subject'][:50]) for m in msgs]"
# 1. Find the email
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"searchMessages","arguments":{"query":"website quote","maxResults":5}}}' \
| python3 -c "import sys,json; r=json.loads(json.load(sys.stdin)['result']['content'][0]['text']); [print(i, m['messageId'], m['folderPath'][:60], m['subject']) for i,m in enumerate(r)]"
# 2. Read it (use messageId + folderPath from step 1)
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getMessage","arguments":{"messageId":"<id>","folderPath":"<path>"}}}'
# 3. Reply (opens compose window for Michael to review)
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d "$(jq -n --arg id '<id>' --arg fp '<path>' '{jsonrpc:"2.0",id:1,method:"tools/call",params:{name:"replyToMessage",arguments:{messageId:$id,folderPath:$fp,body:"Thanks for reaching out! I will get back to you shortly.\n\n— Michael"}}}')"
curl -sf -X POST http://localhost:8765 -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"listAccounts","arguments":{}}}' \
| python3 -c "import sys,json; print(json.dumps(json.loads(json.load(sys.stdin)['result']['content'][0]['text']), indent=2))"
open -a Thunderbird && sleep 5 then retry.Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/contract"
curl -s "https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Structured website and review evidence for AI-assisted local-business shortlisting.
Loan & mortgage calculator, compound interest, ROI, crypto prices, FX conversion for AI agents.
Search ReliefWeb humanitarian reports, disasters, jobs, training, and country profiles via MCP.
63 production tools for AI agents — one API key, pay per call in USDC (x402) or Stripe credits.
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-10-09T03:24:30.363Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Kri8tivemike",
"href": "https://github.com/Kri8tivemike/thunderbird-mcp-skill",
"sourceUrl": "https://github.com/Kri8tivemike/thunderbird-mcp-skill",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:44:43.711Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-24T19:44:43.711Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/kri8tivemike-thunderbird-mcp-skill/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to thunderbird and adjacent AI workflows.