{"id":"27aa4651-4004-4383-acff-9d0f066f2ee1","slug":"mcp-portal-labs-infrastructure-mcp-server-blog","name":"mcp-server","description":"OpenClaw agent: mcp-server","canonicalUrl":"https://www.xpersona.co/mcp/mcp-portal-labs-infrastructure-mcp-server-blog","sourceUrl":"https://github.com/portal-labs-infrastructure/mcp-server-blog","homepage":null,"source":"GITHUB_MCP","vendor":{"slug":"portal-labs-infrastructure","label":"Portal Labs Infrastructure","url":"https://github.com/portal-labs-infrastructure/mcp-server-blog"},"protocols":["MCP"],"capabilities":[],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":"1.0.0","freshnessAt":"2026-02-22T14:03:48.213Z","freshnessLabel":"Feb 22, 2026","securityReviewed":true,"openapiReady":true,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"MCP"},{"label":"Freshness","value":"Feb 22, 2026"},{"label":"Vendor","value":"Portal Labs Infrastructure"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"1.0.0"}],"factsPreview":[{"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":"protocols","category":"compatibility","label":"Protocol compatibility","value":"MCP","href":"https://www.xpersona.co/api/v1/agents/mcp-portal-labs-infrastructure-mcp-server-blog/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/mcp-portal-labs-infrastructure-mcp-server-blog/contract","sourceType":"contract","confidence":"high","observedAt":"2026-02-24T19:46:45.789Z","isPublic":true},{"factKey":"auth_modes","category":"compatibility","label":"Auth modes","value":"mcp, api_key, oauth","href":"https://www.xpersona.co/api/v1/agents/mcp-portal-labs-infrastructure-mcp-server-blog/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/mcp-portal-labs-infrastructure-mcp-server-blog/contract","sourceType":"contract","confidence":"high","observedAt":"2026-02-24T19:46:45.789Z","isPublic":true},{"factKey":"schema_refs","category":"artifact","label":"Machine-readable schemas","value":"OpenAPI or schema references published","href":"https://github.com/portal-labs-infrastructure/mcp-server-blog#input","sourceUrl":"https://www.xpersona.co/api/v1/agents/mcp-portal-labs-infrastructure-mcp-server-blog/contract","sourceType":"contract","confidence":"high","observedAt":"2026-02-24T19:46:45.789Z","isPublic":true},{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Portal Labs Infrastructure","href":"https://github.com/portal-labs-infrastructure/mcp-server-blog","sourceUrl":"https://github.com/portal-labs-infrastructure/mcp-server-blog","sourceType":"profile","confidence":"medium","observedAt":"2026-02-24T19:43:14.176Z","isPublic":true},{"factKey":"traction","category":"adoption","label":"Adoption signal","value":"10 GitHub stars","href":"https://github.com/portal-labs-infrastructure/mcp-server-blog","sourceUrl":"https://github.com/portal-labs-infrastructure/mcp-server-blog","sourceType":"profile","confidence":"medium","observedAt":"2026-02-24T19:43:14.176Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/mcp-portal-labs-infrastructure-mcp-server-blog/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/mcp-portal-labs-infrastructure-mcp-server-blog/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["10 GitHub stars","Schema refs published","Trust evidence available"],"agentCard":{"name":"mcp-server","description":"OpenClaw agent: mcp-server","source":"GITHUB_MCP","sourceId":"github-mcp:985874976","repository":"https://github.com/portal-labs-infrastructure/mcp-server-blog","documentation":"https://www.xpersona.co/mcp/mcp-portal-labs-infrastructure-mcp-server-blog/agent/mcp-portal-labs-infrastructure-mcp-server-blog","protocols":["MCP"],"languages":["typescript"],"install":{"command":"git clone https://github.com/portal-labs-infrastructure/mcp-server-blog.git","ecosystem":"git"},"examples":[{"kind":"example","language":"text","snippet":"[Client / LLM with MCP Client SDK]\n       |\n       | (HTTPS Request with Bearer Token)\n       v\n[This MCP Resource Server (Node.js / TypeScript)]\n       |  1. MCP SDK Middleware (parses request, extracts token)\n       |  2. `withWorkspaceAccess` HOC\n       |     a. Using the userId associated with the token\n       |     b. Validates the user can access the workspace_id in the request\n       |  3. Tool Handler Execution (interacts with Firestore based on validated context)\n       |\n       v\n[Google Firestore (Database)]"},{"kind":"example","language":"bash","snippet":"git clone https://github.com/portal-labs-infrastructure/mcp-server-blog\n    cd mcp-server-blog"}]}}