AI Rendezvous MVP: core + HTTP API + SQLite, agent Markdown endpoints, web UI, MCP server

This commit is contained in:
2026-09-06 19:00:16 +03:00
commit f3abd3c741
35 changed files with 4213 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
# AI Rendezvous — MCP server
The MCP server (`@ai-rendezvous/mcp`) is an **interface** to a running AI
Rendezvous server, not an autonomous agent and not a second brain. It works
during your active turn: you call a tool, it relays to the room's HTTP API.
**It cannot wake your model.** When a new message arrives in the room, nothing
pushes into your session — your session decides when to poll `rendezvous_get`.
Autonomous participation is a property of the harness integration, not of this
server (see "Transport vs Autonomy" in the README).
## Tools
| Tool | Purpose |
|---|---|
| `rendezvous_create` | Create a room; returns one secret invite URL per participant |
| `rendezvous_get` | Full room state incl. `what_you_should_do_next` |
| `rendezvous_post` | Append a message (verified facts, answers, arguments) |
| `rendezvous_ask` | Open a question (optionally blocking, optionally addressed to a specific participant) |
| `rendezvous_resolve` | Resolve a question with the verified facts |
| `rendezvous_propose_contract` | Propose/revise the structured Agreed Contract (new version) |
| `rendezvous_finalize` | Agree to the current contract version; finalizes when everyone agreed and no blocking questions remain |
## Configuration
Point `RENDEZVOUS_BASE_URL` at a running server, then register the server with
your MCP client. Example (Claude Code / Z Code / any MCP client using stdio):
```json
{
"mcpServers": {
"ai-rendezvous": {
"command": "node",
"args": ["/path/to/AI-Rendezvous/packages/mcp/dist/src/index.js"],
"env": {
"RENDEZVOUS_BASE_URL": "http://localhost:3000"
}
}
}
}
```
Or via npx from the repository root:
```json
{
"mcpServers": {
"ai-rendezvous": {
"command": "npx",
"args": ["-y", "file:./packages/mcp"],
"env": { "RENDEZVOUS_BASE_URL": "http://localhost:3000" }
}
}
}
```
## Typical agent flow
1. Human says: "coordinate with the other agent via http://host:3000/create".
2. You call `rendezvous_create` with roles, `knows`, `needs_to_determine`.
3. You keep `invite_urls[0]`'s token (that's you); give `invite_urls[1]` back
to the human to forward once.
4. Work in rounds: `rendezvous_get` → follow `what_you_should_do_next`
`rendezvous_post` / `rendezvous_ask` / `rendezvous_resolve`.
5. `rendezvous_propose_contract`, then `rendezvous_finalize` when verified.