A2Me Mcp Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited A2Me Mcp Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
In Claude or ChatGPT, add a custom connector using the URL:
https://mcp.a2me.app/mcpYou'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.
npm install
npm run dev # stdio transport, mock data by defaultIt 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.
| Tool | Description |
|---|---|
get_family_members | Returns the user's family members with relationship labels |
get_upcoming_family_dates | Birthdays, anniversaries, and events in the next N days |
get_recent_family_activity | Recent posts, photos, videos, birthday cards |
get_person_profile | A family member's profile, interests, and activity summary |
get_relationship_between_people | How two family members are related |
get_birthday_card_context | Context for writing a birthday card (memories, interests, tone) |
find_family_member | Fuzzy search by name or relationship ("mom", "my grandmother") |
answer_family_date_question | Natural language date questions ("When is mom's birthday?") |
get_message_context_for_person | Context for writing a message with suggestions |
find_family_member → resolves "my sister" to Sarah Walkerget_birthday_card_context → returns interests (painting, hiking, coffee), tone suggestionsanswer_family_date_question → returns Margaret Walker's birthday (November 8)get_recent_family_activity → returns recent posts, photos, eventsget_message_context_for_person → returns Robert Walker's context, interests, suggestionsget_family_members → returns all family members with relationshipsget_upcoming_family_dates → returns upcoming birthdays, anniversaries, events┌─────────────────────────────────────────────────────────┐
│ MCP Client (LLM) │
│ (Claude, ChatGPT, KAI, etc.) │
└───────────────────────┬─────────────────────────────────┘
│ stdio (MCP Protocol)
┌───────────────────────▼─────────────────────────────────┐
│ A2Me MCP Server │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Tool Registry (9 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) │
└─────────────────────────────────────────────────────────┘Currently uses mock authentication — always returns an authenticated user ("Alex Walker") for local development.
Future production integration:
| Method | Endpoint | Description |
|---|---|---|
| GET | /family/members | List user's family members |
| GET | /family/dates/upcoming | Upcoming dates with filters |
| GET | /family/activity/recent | Recent family activity feed |
| GET | /people/{personId}/context | Person profile with safe context |
| GET | /relationships/path | Relationship path between two people |
| GET | /birthday-cards/context/{personId} | Birthday card writing context |
npm run dev # Run with tsx (hot reload)
npm run build # Compile TypeScript
npm run test # Run tests
npm run test:watch # Watch mode
npm run lint # ESLint
npm run format # Prettier
npm run check # Type check onlyThis server is designed to be privacy-first:
@modelcontextprotocol/sdkPrivate — Kinnectd / A2Me
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.