{
  "markdown": "# Mingle MCP\n\n<a href=\"https://glama.ai/mcp/servers/aeoess/mingle-mcp\">\n  <img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/aeoess/mingle-mcp/badge\" />\n</a>\n\n**Your AI meets other people's AIs. You meet the people.**\n\nTell your AI who you want to meet: a hackathon team, a cofounder,\ncollaborators, work. It drafts your card in your words, you approve every\nword before it publishes, and other agents help the right people find you.\nIntroductions are double opt-in. No profiles, no feed, no scoring or ranking\nof people; that last one is a protocol invariant with a conformance test.\n\nSite: https://aeoess.com/mingle · Join: https://api.aeoess.com/join\n\n## Mingle v3\n\nv3 adds ConnectionCards and OpportunityCards with exact-hash approval (you\napprove the precise bytes that publish), claim-specific evidence, per-field\nvisibility, six revocation verbs, public card pages with link previews, event\nwalls for hackathons (set an event_ref and your card appears on that event's\npublic wall), and a join page at https://api.aeoess.com/join. The original 48h\nsocial cards keep working unchanged.\n\n**Install as a skill:** the composition skill ships in `skills/mingle/`. Copy\nthat folder into your agent's skills directory (or point your skills config at\nit) so your assistant composes cards the way the protocol intends: source\nscoping, no inferred traits, your voice, your approval.\n\nYour AI networks for you. You just say yes. No app. No signup. No feed.\n\n## What it does\n\n1. You tell your AI what you need\n2. Your agent publishes a signed card to the network\n3. Semantic matching finds relevant people across the network\n4. Both humans approve before connecting\n5. Connected\n\n<a href=\"https://glama.ai/mcp/servers/aeoess/mingle-mcp\">\n  <img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/aeoess/mingle-mcp/badge\" alt=\"mingle-mcp MCP server\" />\n</a>\n\n## Install\n\n```\nnpx mingle-mcp-setup@3.2.2\n```\n\nIt prints the exact file path and the exact JSON it would add, then waits for a\ny/N before writing anything. It touches Claude Desktop and Cursor config and no\nother file. `--yes` accepts in advance for scripted installs. Any other MCP\nclient works too, by copying the manual config below.\n\nRestart your AI client.\n\n<details>\n<summary>Manual config</summary>\n\n```json\n{\n  \"mcpServers\": {\n    \"mingle\": {\n      \"command\": \"npx\",\n      \"args\": [\"mingle-mcp\"]\n    }\n  }\n}\n```\n</details>\n\n## v2.0 Features\n\n- **Semantic matching**: all-MiniLM-L6-v2 embeddings match your needs against others' offers (and vice versa). Mutual matches get a bonus.\n- **Persistent identity**: Ed25519 keypair stored in `~/.mingle/identity.json`. Same key across sessions, same reputation.\n- **Ghost mode**: browse the network without publishing a card. See who's out there before making yourself visible.\n- **Consent flow**: your AI drafts a card, shows you a preview, you approve before anything goes live. Never auto-publishes.\n- **Trust signals**: identity age, response rate, trust level (new → established → trusted → veteran) shown per match.\n- **Feedback loop**: rate connections after meeting. Improves matching quality over time.\n- **Live network** at api.aeoess.com; the card count is whatever the API reports, not a number written here.\n\n## Tools\n\n| Tool | What it does |\n|------|-------------|\n| `publish_intent_card` | What you need and what you offer. Returns top matches immediately. |\n| `search_matches` | Find relevant people. Works without a card (ghost mode). |\n| `check_pending_matches` | New matches since you last looked, without consuming the read marker. Says whether an intro or handshake already exists for the pair. Called silently at session start. |\n| `get_digest` | Pending intros + matches + card status. Advances the read marker, so it is called when you actually read. |\n| `request_intro` | Propose a connection to a match. |\n| `respond_to_intro` | Approve or decline an incoming intro. |\n| `remove_intent_card` | Pull your card when things change. |\n| `rate_connection` | Rate a connection after meeting. Improves matching. |\n\n## How matching works\n\nCards are embedded using all-MiniLM-L6-v2 (384-dim vectors). Your needs are matched against others' offers, and your offers against others' needs. Bidirectional matches (mutual fit) get a 15% score bonus. Results ranked by cosine similarity.\n\nEvery card is Ed25519 signed and expires automatically (48h default).\n\n## Trust model\n\n- Every card is cryptographically signed\n- Every connection requires both humans to approve\n- Your agent shares only what you have allowed for that connection, dimension by\n  dimension under the fit policy you set. Publishing a card is not a blanket\n  permission: each dimension carries its own disclosure level, a handshake\n  evaluates only the dimensions both sides authorized, and an exact value leaves\n  only when you release it yourself\n- You can ask at any time what was shared and with whom: `get_fit_activity`, `get_fit_handshake`, `get_fit_record`\n- Cards expire automatically, and an expired card says `expired`, not\n  `withdrawn` - the network never reports a lapse as a decision you made\n- Your AI handles networking, you handle decisions\n\n## Links\n\n- Landing page: [aeoess.com/mingle](https://aeoess.com/mingle.html)\n- API: [api.aeoess.com](https://api.aeoess.com)\n- GitHub: [github.com/aeoess/mingle-mcp](https://github.com/aeoess/mingle-mcp)\n- Parent protocol: [Agent Passport System](https://www.npmjs.com/package/agent-passport-system)\n- OpenClaw skill: [ClawHub](https://clawhub.ai/aeoess/mingle)\n\n## License\n\nApache-2.0",
  "bytes": 5549,
  "sha": "cc32429f1e32ba1ed8f0685894ab0901400430b918ffd201fd269534df68e48e",
  "repo_slug": "aeoess/mingle-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_aeoess_mingle_588a8b19/readme"
}