{"id":"86a8b980-8a27-40cf-9946-4ac785b9457b","entityType":"agent","slug":"clawhub-skills-87marc-outlook-skill-clawhub","name":"outlook-delegate","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-87marc-outlook-skill-clawhub","canonicalPath":"/agent/clawhub-skills-87marc-outlook-skill-clawhub","generatedAt":"2026-10-10T05:22:11.633Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Read, search, and manage Outlook emails and calendar via Microsoft Graph API with delegate support. Your AI assistant authenticates as itself but accesses the owner's mailbox/calendar as a delegate. Modified for delegate access from https://clawhub.ai/jotamed/outlook --- name: outlook-delegate description: Read, search, and manage Outlook emails and calendar via Microsoft Graph API with delegate support. Your AI assistant authenticates as itself but accesses the owner's mailbox/calendar as a delegate. Modified for delegate access from https://clawhub.ai/jotamed/outlook version: 1.0.0 author: 87marc --- Outlook Delegate Skill Access another user's Outlook/Microsoft 365 email and c","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:87marc:outlook-skill-clawhub","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/87marc/outlook-skill-clawhub","homepage":null,"primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/87marc/outlook-skill-clawhub","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Read, search, and manage Outlook emails and calendar via Microsoft Graph API with delegate support. Your AI assistant authenticates as itself but accesses the o"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"MCP","label":"MCP","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"create","status":"self-declared"},{"label":"add","status":"self-declared"},{"label":"revoke","status":"self-declared"},{"label":"with","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":5,"capabilityMatrix":{"rows":[{"key":"MCP","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"create","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"add","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"revoke","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"with","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:MCP|unknown|profile capability:create|supported|profile capability:add|supported|profile capability:revoke|supported|profile capability:with|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-25T05:53:44.533Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T05:53:44.533Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T05:53:44.533Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:87marc:outlook-skill-clawhub","setupComplexity":"low","setupSteps":["Setup 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."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-87marc-outlook-skill-clawhub/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-87marc-outlook-skill-clawhub/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-87marc-outlook-skill-clawhub/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-87marc-outlook-skill-clawhub/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-87marc-outlook-skill-clawhub/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-87marc-outlook-skill-clawhub/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["MCP"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T05:22:11.632Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-87marc-outlook-skill-clawhub/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-87marc-outlook-skill-clawhub/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-87marc-outlook-skill-clawhub/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-87marc-outlook-skill-clawhub/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"---\nname: outlook-delegate\ndescription: Read, search, and manage Outlook emails and calendar via Microsoft Graph API with delegate support. Your AI assistant authenticates as itself but accesses the owner's mailbox/calendar as a delegate. Modified for delegate access from https://clawhub.ai/jotamed/outlook\nversion: 1.0.0\nauthor: 87marc\n---\n\n# Outlook Delegate Skill\n\nAccess another user's Outlook/Microsoft 365 email and calendar as a **delegate** via Microsoft Graph API.\n\n## Delegate Architecture\n\nThis skill is designed for scenarios where:\n- **Your AI assistant** has its own Microsoft 365 account (e.g., `assistant@domain.com`)\n- **The owner** has granted the assistant delegate access to their mailbox/calendar\n- The assistant authenticates as itself but accesses the owner's resources\n\n### What Changed from Direct Access\n\n| Feature | Direct Access (`/me`) | Delegate Access (`/users/{id}`) |\n|---------|----------------------|--------------------------------|\n| API Base | `/me/messages` | `/users/{owner}/messages` |\n| Send Email | Appears \"From: Owner\" | Appears \"From: Assistant on behalf of Owner\" |\n| Calendar | Full control | Based on permission level granted |\n| Permissions | Mail.ReadWrite, Mail.Send | Mail.ReadWrite.Shared, Mail.Send.Shared, Calendars.ReadWrite.Shared |\n\n## Configuration\n\n### Config File: `~/.outlook-mcp/config.json`\n\n```json\n{\n  \"client_id\": \"your-app-client-id\",\n  \"client_secret\": \"your-app-client-secret\",\n  \"owner_email\": \"owner@domain.com\",\n  \"delegate_email\": \"assistant@domain.com\"\n}\n```\n\nThe `owner_email` is the mailbox the assistant will access as a delegate.\n\n## Setup Requirements\n\n### 1. Azure AD App Registration\n\nThe app registration needs **delegated permissions** (not application permissions):\n\n- `Mail.ReadWrite.Shared` - Read/write access to shared mailboxes\n- `Mail.Send.Shared` - Send mail on behalf of others\n- `Calendars.ReadWrite.Shared` - Read/write shared calendars\n- `User.Read` - Read assistant's own profile\n- `offline_access` - Refresh tokens\n\n### 2. Exchange Delegate Permissions (Admin or Owner)\n\nThe owner must grant the assistant delegate access via Exchange/Outlook:\n\n**PowerShell (Admin):**\n```powershell\n# Grant mailbox access\nAdd-MailboxPermission -Identity \"owner@domain.com\" -User \"assistant@domain.com\" -AccessRights FullAccess\n\n# Grant Send-on-Behalf\nSet-Mailbox -Identity \"owner@domain.com\" -GrantSendOnBehalfTo \"assistant@domain.com\"\n\n# Grant calendar access (Editor = can create/modify events)\nAdd-MailboxFolderPermission -Identity \"owner@domain.com:\\Calendar\" -User \"assistant@domain.com\" -AccessRights Editor -SharingPermissionFlags Delegate\n```\n\n**Or via Outlook Settings:**\nThe owner can add the assistant as a delegate in Outlook → File → Account Settings → Delegate Access.\n\n### 3. Token Flow\n\nThe assistant authenticates as itself via OAuth2, then accesses the owner's resources using the `/users/{owner@domain.com}/` endpoint.\n\n## Usage\n\n### Token Management\n```bash\n./scripts/outlook-token.sh refresh   # Refresh expired token\n./scripts/outlook-token.sh test      # Test connection to BOTH accounts\n./scripts/outlook-token.sh get       # Print access token\n```\n\n### Reading Owner's Emails\n```bash\n./scripts/outlook-mail.sh inbox [count]           # Owner's inbox\n./scripts/outlook-mail.sh unread [count]          # Owner's unread\n./scripts/outlook-mail.sh search \"query\" [count]  # Search owner's mail\n./scripts/outlook-mail.sh from <email> [count]    # Owner's mail from sender\n./scripts/outlook-mail.sh read <id>               # Read email content\n```\n\n### Managing Owner's Emails\n```bash\n./scripts/outlook-mail.sh mark-read <id>          # Mark as read\n./scripts/outlook-mail.sh mark-unread <id>        # Mark as unread\n./scripts/outlook-mail.sh flag <id>               # Flag as important\n./scripts/outlook-mail.sh delete <id>             # Move to trash\n./scripts/outlook-mail.sh archive <id>            # Move to archive\n./scripts/outlook-mail.sh move <id> <folder>      # Move to folder\n```\n\n### Sending Emails (On Behalf Of Owner)\n```bash\n./scripts/outlook-mail.sh send <to> <subj> <body>  # Send on behalf of owner\n./scripts/outlook-mail.sh reply <id> \"body\"        # Reply on behalf of owner\n```\n\n**Note:** Emails will show \"Assistant on behalf of Owner\" in the From field.\n\n### Owner's Calendar\n```bash\n./scripts/outlook-calendar.sh events [count]      # Owner's upcoming events\n./scripts/outlook-calendar.sh today               # Owner's today\n./scripts/outlook-calendar.sh week                # Owner's week\n./scripts/outlook-calendar.sh read <id>           # Event details\n./scripts/outlook-calendar.sh free <start> <end>  # Owner's availability\n```\n\n### Creating Events on Owner's Calendar\n```bash\n./scripts/outlook-calendar.sh create <subj> <start> <end> [location]\n./scripts/outlook-calendar.sh quick <subject> [time]\n```\n\n## API Endpoint Changes\n\nThe key change is replacing `/me` with `/users/{owner_email}`:\n\n```bash\n# Direct access (old)\nAPI=\"https://graph.microsoft.com/v1.0/me\"\n\n# Delegate access (new)\nOWNER=$(jq -r '.owner_email' \"$CONFIG_FILE\")\nAPI=\"https://graph.microsoft.com/v1.0/users/$OWNER\"\n```\n\n## Send-on-Behalf Implementation\n\nWhen sending mail as a delegate, you must specify the `from` address:\n\n```json\n{\n  \"message\": {\n    \"subject\": \"Meeting follow-up\",\n    \"from\": {\n      \"emailAddress\": {\n        \"address\": \"owner@domain.com\"\n      }\n    },\n    \"toRecipients\": [{\"emailAddress\": {\"address\": \"recipient@example.com\"}}],\n    \"body\": {\"contentType\": \"Text\", \"content\": \"...\"}\n  }\n}\n```\n\nThe recipient sees: **\"Assistant on behalf of Owner <owner@domain.com>\"**\n\n## Permissions Summary\n\n| Action | Required Permission | Exchange Setting |\n|--------|-------------------|-----------------|\n| Read owner's mail | Mail.ReadWrite.Shared | FullAccess or Reviewer |\n| Modify owner's mail | Mail.ReadWrite.Shared | FullAccess or Editor |\n| Send as owner | Mail.Send.Shared | SendOnBehalf |\n| Read owner's calendar | Calendars.ReadWrite.Shared | Reviewer+ |\n| Create events on owner's calendar | Calendars.ReadWrite.Shared | Editor |\n\n## Troubleshooting\n\n**\"Access denied\" or \"403 Forbidden\"**\n→ Check that the assistant has MailboxPermission on the owner's mailbox\n\n**\"The mailbox is not found\"**\n→ Verify `owner_email` in config.json is correct\n\n**\"Insufficient privileges\"**\n→ App registration missing `.Shared` permissions (check Azure AD)\n\n**Emails send but don't show \"on behalf of\"**\n→ Missing SendOnBehalf permission. Run:\n```powershell\nSet-Mailbox -Identity \"owner@domain.com\" -GrantSendOnBehalfTo \"assistant@domain.com\"\n```\n\n**\"Token expired\"**\n→ Run `outlook-token.sh refresh`\n\n## Security Considerations\n\n1. **Audit Trail**: All actions by the assistant are logged in the owner's mailbox audit log\n2. **Token Storage**: Credentials stored in `~/.outlook-mcp/` - protect this directory\n3. **Scope Limitation**: The assistant only has access to what the owner explicitly grants\n4. **Revocation**: The owner can revoke access anytime via Delegate settings\n\n## Files\n\n- `~/.outlook-mcp/config.json` - Client ID, secret, and owner/delegate emails\n- `~/.outlook-mcp/credentials.json` - OAuth tokens (access + refresh)\n\n## Changelog\n\n### v1.0.0 (Delegate Edition)\n- **Breaking**: API calls now use `/users/{owner}` instead of `/me`\n- Added: `owner_email` and `delegate_email` config fields\n- Added: Send-on-behalf support with proper `from` field\n- Changed: Permissions to `.Shared` variants\n- Added: Delegate setup documentation\n- Added: Token test validates access to owner's mailbox\n- Based on outlook v1.3.0 by jotamed (https://clawhub.ai/jotamed/outlook)\n","readmeExcerpt":"--- name: outlook-delegate description: Read, search, and manage Outlook emails and calendar via Microsoft Graph API with delegate support. Your AI assistant authenticates as itself but accesses the owner's mailbox/calendar as a delegate. Modified for delegate access from https://clawhub.ai/jotamed/outlook version: 1.0.0 author: 87marc --- Outlook Delegate Skill Access another user's Outlook/Microsoft 365 email and c","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"client_id\": \"your-app-client-id\",\n  \"client_secret\": \"your-app-client-secret\",\n  \"owner_email\": \"owner@domain.com\",\n  \"delegate_email\": \"assistant@domain.com\"\n}"},{"language":"powershell","snippet":"# Grant mailbox access\nAdd-MailboxPermission -Identity \"owner@domain.com\" -User \"assistant@domain.com\" -AccessRights FullAccess\n\n# Grant Send-on-Behalf\nSet-Mailbox -Identity \"owner@domain.com\" -GrantSendOnBehalfTo \"assistant@domain.com\"\n\n# Grant calendar access (Editor = can create/modify events)\nAdd-MailboxFolderPermission -Identity \"owner@domain.com:\\Calendar\" -User \"assistant@domain.com\" -AccessRights Editor -SharingPermissionFlags Delegate"},{"language":"bash","snippet":"./scripts/outlook-token.sh refresh   # Refresh expired token\n./scripts/outlook-token.sh test      # Test connection to BOTH accounts\n./scripts/outlook-token.sh get       # Print access token"},{"language":"bash","snippet":"./scripts/outlook-mail.sh inbox [count]           # Owner's inbox\n./scripts/outlook-mail.sh unread [count]          # Owner's unread\n./scripts/outlook-mail.sh search \"query\" [count]  # Search owner's mail\n./scripts/outlook-mail.sh from <email> [count]    # Owner's mail from sender\n./scripts/outlook-mail.sh read <id>               # Read email content"},{"language":"bash","snippet":"./scripts/outlook-mail.sh mark-read <id>          # Mark as read\n./scripts/outlook-mail.sh mark-unread <id>        # Mark as unread\n./scripts/outlook-mail.sh flag <id>               # Flag as important\n./scripts/outlook-mail.sh delete <id>             # Move to trash\n./scripts/outlook-mail.sh archive <id>            # Move to archive\n./scripts/outlook-mail.sh move <id> <folder>      # Move to folder"},{"language":"bash","snippet":"./scripts/outlook-mail.sh send <to> <subj> <body>  # Send on behalf of owner\n./scripts/outlook-mail.sh reply <id> \"body\"        # Reply on behalf of owner"}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"Read, search, and manage Outlook emails and calendar via Microsoft Graph API with delegate support. Your AI assistant authenticates as itself but accesses the owner's mailbox/calendar as a delegate. Modified for delegate access from https://clawhub.ai/jotamed/outlook --- name: outlook-delegate description: Read, search, and manage Outlook emails and calendar via Microsoft Graph API with delegate support. Your AI assistant authenticates as itself but accesses the owner's mailbox/calendar as a delegate. Modified for delegate access from https://clawhub.ai/jotamed/outlook version: 1.0.0 author: 87marc --- Outlook Delegate Skill Access another user's Outlook/Microsoft 365 email and c","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":399,"uniquenessScore":62,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T05:22:11.633Z","emptyReason":null},"items":[{"id":"91842505-d59e-48ad-ae35-d504a6e8eadb","entityType":"agent","canonicalPath":"/agent/ard-urn-air-com-brainiall-mcp-nlp","slug":"ard-urn-air-com-brainiall-mcp-nlp","name":"Brainiall NLP","description":"Sentiment, toxicity, entity extraction, PII, translation, summary, QA, fraud scoring, safety audit.","url":"https://api.brainiall.com/mcp/nlp/mcp","homepage":"https://api.brainiall.com/mcp/nlp/mcp","source":"ARD_REGISTRY","protocols":["MCP"],"capabilities":["mcp","mcp-registry"],"safetyScore":95,"overallRank":93.5,"updatedAt":"2026-10-09T19:59:36.369Z","createdAt":"2026-10-09T02:32:12.319Z","downloads":null},{"id":"c07bfd45-37e3-4ca4-bce7-0f2c138264a2","entityType":"agent","canonicalPath":"/agent/ard-urn-air-ai-revuo-mcp-revuo","slug":"ard-urn-air-ai-revuo-mcp-revuo","name":"Revuo","description":"Agent-callable B2B SaaS directory: capability-structured, continuously verified listings.","url":"https://www.revuo.ai/api/mcp","homepage":"https://www.revuo.ai/api/mcp","source":"ARD_REGISTRY","protocols":["MCP"],"capabilities":["mcp","mcp-registry"],"safetyScore":95,"overallRank":93.5,"updatedAt":"2026-10-09T19:04:52.902Z","createdAt":"2026-10-09T02:32:15.408Z","downloads":null},{"id":"b72e3032-816c-4f68-bcc9-1a847aef4d79","entityType":"agent","canonicalPath":"/agent/ard-urn-air-ai-bankee-mcp-inferventis-mcp","slug":"ard-urn-air-ai-bankee-mcp-inferventis-mcp","name":"Inferventis MCP Server","description":"Loan & mortgage calculator, compound interest, ROI, crypto prices, FX conversion for AI agents.","url":"https://mcp-server-295985738387.europe-west1.run.app/mcp","homepage":"https://mcp-server-295985738387.europe-west1.run.app/mcp","source":"ARD_REGISTRY","protocols":["MCP"],"capabilities":["mcp","mcp-registry"],"safetyScore":95,"overallRank":93.5,"updatedAt":"2026-10-09T18:09:37.547Z","createdAt":"2026-10-09T02:32:16.798Z","downloads":null},{"id":"a785e560-2661-4edd-a374-5e8de7c54e7a","entityType":"agent","canonicalPath":"/agent/ard-urn-air-io-github-cleandev-fix-mcp-shortlistlens","slug":"ard-urn-air-io-github-cleandev-fix-mcp-shortlistlens","name":"ShortlistLens","description":"Structured website and review evidence for AI-assisted local-business shortlisting.","url":"https://shortlistlens-mcp.streaming22box.workers.dev/mcp","homepage":"https://shortlistlens-mcp.streaming22box.workers.dev/mcp","source":"ARD_REGISTRY","protocols":["MCP"],"capabilities":["mcp","mcp-registry"],"safetyScore":95,"overallRank":93.5,"updatedAt":"2026-10-09T18:04:03.143Z","createdAt":"2026-10-09T02:32:13.915Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"MCP","href":"/agent/protocol/mcp"}]}}}