Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Read-only A2Me family context tools for AI assistants (members, dates, activity, relationships)
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://mcp.a2me.app/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http a2me https://mcp.a2me.app/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"a2me": {
"url": "https://mcp.a2me.app/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"a2me": {
"type": "http",
"url": "https://mcp.a2me.app/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://mcp.a2me.app/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Kinnectd ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.0) เข้า registry 4 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, FactLot
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cited CRE facts and deterministic calculators for agents: rent, CAM, debt sizing, IRR, parcel IDs.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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/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.
npm install
npm 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.
| 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 |
get_upcoming_events | Upcoming events with the user's RSVP status and RSVP counts |
get_trip_overview | A trip's dates, roster, travel details (flights/lodging), itinerary |
get_life_story | A family member's life story chapters (or recent story answers) |
get_unanswered_story_questions | Unanswered story questions — interview prep for a visit |
get_person_wishlist | A family member's wishlist for gift ideas |
search_family_memories | Keyword search over recent family posts and memories |
whats_new | Catch-up bundle: recent posts + what's coming up |
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:
| Prompt | What it does |
|---|---|
write_birthday_card | Draft a birthday card grounded in a person's context |
write_family_message | Draft a message for any occasion/tone |
family_catch_up | Summarize what's new with the family |
upcoming_family_dates | List upcoming birthdays/anniversaries with suggestions |
about_person | Warm 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.
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 (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) │ └─────────────────────────────────────────────────────────┘
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 |
For ChatGPT (Apps SDK), four tools render an interactive inline widget instead of plain JSON:
get_upcoming_family_dates → an Upcoming family dates cardget_family_members → a Your family rosterget_person_profile → a Family member profile cardget_recent_family_activity → a Recent family activity feedEach widget is a small React bundle in widgets/src/ built by npm run build:widgets into dist-widgets/ .js|.css. The server serves those as static assets (/widgets/...) and exposes each as a ui://widget/ .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.
npm run dev # Run the server with tsx (hot reload)
npm run build # Compile server (tsc) + build widget bundles npm run build:server # Server only npm run build:widgets # Widget bundles only (-> dist-widgets/) npm run test # Run tests (incl. widget render tests) npm run test:watch # Watch mode npm run lint # ESLint npm run format # Prettier npm run check # Type check only
This server is designed to be privacy-first:
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.
@modelcontextprotocol/sdkPrivate — Kinnectd / A2Me