A2me Mcp Server

io.github.Kinnectd由 GitHub 帳號 Kinnectd 發布v1.0.0更新於 Nov 2, 2026

Read-only A2Me family context tools for AI assistants (members, dates, activity, relationships)

已驗證Streamable HTTP可網頁執行效率與工作流溝通與協作

概覽

AI 產生的概覽

唯讀的 A2Me 連接器,為助理提供經隱私去識別化的家庭脈絡:成員、日期、動態與關係,僅限你自己的家庭。

可以做什麼
  • 查詢家庭成員,依姓名或關係(例如「媽媽」)模糊比對,並查看兩人之間的關係
  • 列出即將到來的生日、紀念日與活動,並回答自然語言日期問題
  • 讀取近期家庭動態、搜尋回憶,並取得包含新動態與待辦事項的彙整
  • 取得某人的個人資料、人生故事、願望清單與尚未回答的故事問題
  • 為撰寫生日賀卡或訊息蒐集背景資訊,含興趣與語氣建議
  • 使用內建提示詞,例如生日賀卡、家庭訊息、家庭近況與人物介紹
適用情境
適合讓助理回答關於自己家庭的問題,或依據真實家庭細節草擬個人化訊息與賀卡,同時不揭露聯絡方式等敏感資料。
執行需求
遠端端點 mcp.a2me.app,需在 Claude 或 ChatGPT 中新增為自訂連接器。需要 A2Me 帳號並透過 OAuth 登入授予唯讀權限。本機開發需 Node.js 20+ 與 npm,預設使用模擬資料。
安裝前請注意
會授予所連接助理對你家庭姓名、關係標籤、生日(僅月日)、活動與動態摘要的唯讀存取。存取中繼資料會寫入稽核日誌,OAuth 權杖由 Scalekit 簽發。不會寫回 A2Me。授權前請查看隱私政策與已連結應用程式設定。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 A2me Mcp Server,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.Kinnectd%2Fa2me-mcp-server/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "a2me": {
      "type": "http",
      "url": "https://mcp.a2me.app/mcp"
    }
  }
}

README

A2Me MCP Server

v1 · read-only. A Model Context Protocol server that exposes read-only, privacy-redacted family-context tools for the A2Me family social platform — so assistants like Claude, ChatGPT, or KAI can answer "when is mom's birthday?" or help write a message to grandma, scoped to your own family.

Hosted at https://mcp.a2me.app/mcp and used in production for A2Me's Connect a2me feature.

Connect from an AI assistant

In Claude or ChatGPT, add a custom connector using the URL:

https://mcp.a2me.app/mcp

You'll be sent through OAuth to sign in to A2Me and grant read-only access; the assistant then has family-aware context scoped to your account.

Run it locally

bash
npm installnpm run dev        # stdio transport, mock data by default

It runs on stdio by default (for local MCP clients) and supports a remote HTTP transport (MCP_TRANSPORT=http) for the hosted deployment. By default it uses mock data (A2ME_USE_MOCK=true); set A2ME_API_URL + A2ME_USE_MOCK=false to call a real API. See .env.example.

Available Tools

ToolDescription
get_family_membersReturns the user's family members with relationship labels
get_upcoming_family_datesBirthdays, anniversaries, and events in the next N days
get_recent_family_activityRecent posts, photos, videos, birthday cards
get_person_profileA family member's profile, interests, and activity summary
get_relationship_between_peopleHow two family members are related
get_birthday_card_contextContext for writing a birthday card (memories, interests, tone)
find_family_memberFuzzy search by name or relationship ("mom", "my grandmother")
answer_family_date_questionNatural language date questions ("When is mom's birthday?")
get_message_context_for_personContext for writing a message with suggestions
get_upcoming_eventsUpcoming events with the user's RSVP status and RSVP counts
get_trip_overviewA trip's dates, roster, travel details (flights/lodging), itinerary
get_life_storyA family member's life story chapters (or recent story answers)
get_unanswered_story_questionsUnanswered story questions — interview prep for a visit
get_person_wishlistA family member's wishlist for gift ideas
search_family_memoriesKeyword search over recent family posts and memories
whats_newCatch-up bundle: recent posts + what's coming up

Prompts

The server also exposes prompts — one-click starting points that appear as connector commands in Claude (and suggestions in ChatGPT), so users get value without knowing tool names. Each steers the assistant to the read-only tools above:

PromptWhat it does
write_birthday_cardDraft a birthday card grounded in a person's context
write_family_messageDraft a message for any occasion/tone
family_catch_upSummarize what's new with the family
upcoming_family_datesList upcoming birthdays/anniversaries with suggestions
about_personWarm summary of a family member and how you're related

The person argument on these prompts autocompletes from your family roster (names + relationship labels) as you type — MCP argument completion, scoped to your family. See src/prompts/index.ts and src/completions.ts.

Example Scenarios

  1. "Help me write a birthday card for my sister"

    • find_family_member → resolves "my sister" to Sarah Walker
    • get_birthday_card_context → returns interests (painting, hiking, coffee), tone suggestions
  2. "When is grandma's birthday?"

    • answer_family_date_question → returns Margaret Walker's birthday (November 8)
  3. "What's been happening in the family?"

    • get_recent_family_activity → returns recent posts, photos, events
  4. "Help me write a thank you message to my dad"

    • get_message_context_for_person → returns Robert Walker's context, interests, suggestions
  5. "Who's in my family?"

    • get_family_members → returns all family members with relationships
  6. "What events are coming up?"

    • get_upcoming_family_dates → returns upcoming birthdays, anniversaries, events

Architecture

┌─────────────────────────────────────────────────────────┐│                    MCP Client (LLM)                       ││              (Claude, ChatGPT, KAI, etc.)                │└───────────────────────┬─────────────────────────────────┘                        │ stdio (MCP Protocol)┌───────────────────────▼─────────────────────────────────┐│                  A2Me MCP Server                          ││  ┌─────────────────────────────────────────────────┐    ││  │              Tool Registry (16 tools)             │    ││  └──────────────────────┬──────────────────────────┘    ││                         │                                ││  ┌──────────────────────▼──────────────────────────┐    ││  │         Family Context Resolver                   │    ││  │   (fuzzy matching, relationship resolution)       │    ││  └──────────────────────┬──────────────────────────┘    ││                         │                                ││  ┌──────────────────────▼──────────────────────────┐    ││  │            A2Me API Client                        │    ││  │   (currently mock, future: real HTTP calls)       │    ││  └──────────────────────┬──────────────────────────┘    ││                         │                                ││  ┌──────────────────────▼──────────────────────────┐    ││  │            Auth Context                           │    ││  │   (currently mock, future: OAuth/Firebase)        │    ││  └─────────────────────────────────────────────────┘    │└─────────────────────────────────────────────────────────┘                        │ (future)┌───────────────────────▼─────────────────────────────────┐│                   A2Me REST API                           ││               (kinnectd-api service)                     │└─────────────────────────────────────────────────────────┘

Authentication

Currently uses mock authentication — always returns an authenticated user ("Alex Walker") for local development.

Future production integration:

  • OAuth2/Firebase token validation via A2Me API
  • Token passed via MCP session context or environment
  • Per-user data isolation (users only see their own family)

Required A2Me API Endpoints (Future)

MethodEndpointDescription
GET/family/membersList user's family members
GET/family/dates/upcomingUpcoming dates with filters
GET/family/activity/recentRecent family activity feed
GET/people/{personId}/contextPerson profile with safe context
GET/relationships/pathRelationship path between two people
GET/birthday-cards/context/{personId}Birthday card writing context

ChatGPT app widgets

For ChatGPT (Apps SDK), four tools render an interactive inline widget instead of plain JSON:

  • get_upcoming_family_dates → an Upcoming family dates card
  • get_family_members → a Your family roster
  • get_person_profile → a Family member profile card
  • get_recent_family_activity → a Recent family activity feed

Each widget is a small React bundle in widgets/src/ built by npm run build:widgets into dist-widgets/<name>.js|.css. The server serves those as static assets (/widgets/...) and exposes each as a ui://widget/<name>.html resource (MIME text/html+skybridge); the paired tool carries _meta["openai/outputTemplate"] pointing at it. The widget reads the tool's structuredContent from window.openai.toolOutput and renders it. Other MCP clients (Claude, KAI) ignore the widgets and use the same tools' text output. See src/widgets/registry.ts.

Development

bash
npm run dev            # Run the server with tsx (hot reload)npm run build          # Compile server (tsc) + build widget bundlesnpm run build:server   # Server onlynpm run build:widgets  # Widget bundles only (-> dist-widgets/)npm run test           # Run tests (incl. widget render tests)npm run test:watch     # Watch modenpm run lint           # ESLintnpm run format         # Prettiernpm run check          # Type check only

Privacy Design

This server is designed to be privacy-first:

  • No email addresses, phone numbers, or physical addresses are ever returned
  • Birthdays are shown as month-day only (no birth year)
  • No financial or health information
  • All data scoped to the authenticated user's family only
  • Managed accounts (children) have additional protections

Privacy Policy

Privacy policy: https://a2me.app/privacy

This connector accesses A2Me data on behalf of the authenticated user, over an OAuth 2.0 "Connect A2Me" flow, and is bound by the A2Me privacy policy above.

  • What we collect / access: read-only family-context data for the authenticated user's own family — member names, relationship labels, month–day of birthdays and events, and recent activity summaries. We never return email addresses, phone numbers, physical addresses, birth years, or financial/health data.
  • How it's used: returned to the connected AI assistant solely to answer the user's request in-session. The connector does not train models on this data and performs no writes back to A2Me.
  • Storage & retention: the connector holds no family data at rest. For transparency and abuse prevention we log access metadata (timestamp, tool name, calling assistant, scopes) in an append-only audit log; users can review this under Settings → Connected apps in A2Me.
  • Third-party sharing: OAuth tokens are issued and validated via our auth provider (Scalekit); no family data is shared with third parties beyond the AI assistant the user explicitly connected.
  • Contact: [email protected] · security disclosures per SECURITY.md.

Tech Stack

  • Runtime: Node.js 20+
  • Language: TypeScript (strict mode)
  • MCP SDK: @modelcontextprotocol/sdk
  • Validation: Zod
  • Testing: Vitest
  • Transport: Streamable HTTP (remote/production) and stdio (local dev)

License

Private — Kinnectd / A2Me

來源:README.md,提交 c0e6501

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分