# Rocketplace MCP Server — Setup Instructions

Connect your AI assistant (ChatGPT, Claude, Cursor, etc.) to Rocketplace's fundraising intelligence via the Model Context Protocol.

---

## What You Get

Rocketplace exposes verified founder reviews, investor relevance/activity signals, and community warm-intro tools through MCP. Your AI client can:

- **Search investors** by stage, sector, geography, and natural language
- **Read investor profiles** with AI-generated research summaries
- **Get review rollups** separating fact from founder opinion
- **See what your current session can access** and what to do next
- **Add target investors** to your list
- **Request warm intros** for a specific investor using query-time matching
- **List warm-intro opportunities** via your communities
- **Draft reviews** for investors you've interacted with
- **Draft outreach emails/DMs** with the Rocketplace fundraising outreach template loaded at call time
- **Authenticate** via email and **join communities** entirely through chat

---

## Available Tools (Live)

| Tool | Description |
|---|---|
| `authenticate` | Start email-based authentication — sends a verification link, no manual tokens needed |
| `join_community` | Join a Rocketplace community (MIT, ODF, Tribe) with all info collected via chat |
| `check_auth_status` | Check whether you are authenticated and which communities you belong to |
| `search_investors` | Natural-language investor search with filters, citations, trust signals, and usage hints; use web/deep research for time-sensitive recency verification |
| `get_investor_profile` | Full profile for a single investor by ID |
| `get_review_rollup` | Aggregated review summary with dimension scores and fact/opinion separation |
| `get_access_status` | See what your current session can access, any limits, and the simplest next steps |
| `add_target_investor` | Save an investor to your target list (requires community membership) |
| `request_warm_intro` | Trigger query-time warm-intro matching for one investor and persist intro opportunities |
| `list_intro_opportunities` | Warm-intro paths from your community memberships |
| `create_review_draft` | Start a new review (draft-first, not published until confirmed) |
| `draft_outreach_message` | Return a structured drafting brief with the outreach playbook loaded from `fixtures/prompts` |

---

## Schemas and Examples

- **Tool catalog:** [/mcp/catalog.json](/mcp/catalog.json)
- **Per-tool schemas:** [/mcp/schemas/](/mcp/schemas/) — JSON Schema files for each tool's request and response
- **Request/response examples:** included alongside schemas as `*.example.json` files

---

## MCP Server Configuration

**Base URL:** `https://rocketplace.ai/mcp/tools` (no trailing slash — avoids a 308 redirect to `/mcp/tools`)

Add this to your MCP client config (exact format varies by client):

```json
{
  "mcpServers": {
    "rocketplace": {
      "url": "https://rocketplace.ai/mcp/tools",
      "description": "Rocketplace fundraising intelligence — investor search, reviews, intros"
    }
  }
}
```

> Production MCP is served on the `rocketplace.ai` host (`/mcp/tools`). If your edge config redirects that host, align DNS / Cloudflare with the proxy map in `apps/proxy`.

---

## Authentication

Authentication is handled automatically by the MCP server. **No manual tokens or headers are required.**

### What requires auth vs. what does not

Discovery tools are intentionally usable before auth:

- `search_investors` — no authentication required
- `get_investor_profile` — no authentication required
- `get_review_rollup` — no authentication required
- `get_access_status` — works for anonymous and authenticated sessions
- `draft_outreach_message` — no authentication required (works with partial context)

Identity/community actions require authentication or membership context:

- `authenticate`, `check_auth_status`, `join_community`
- `create_review_draft` (authentication only)
- `add_target_investor`, `request_warm_intro`, `list_intro_opportunities` (community membership required)

Assistant behavior rule: do **not** block discovery queries behind email verification. Only trigger auth when users request identity-gated actions.
Assistant behavior rule: if the user asks to draft an intro request but does not ask to fetch warm intro matches, call `draft_outreach_message` first and do **not** prompt for authentication.
Assistant language rule: do **not** ask users for internal parameter names like `community_slug`. Use plain language, for example: "Which community are you part of (MIT, ODF, Tribe)?"
Assistant language rule: when users ask broad capability questions such as "what else can I do here?", answer in natural product language. Separate what they can do now from what opens after authentication or joining a community, and avoid internal phrases like "Give-to-Get", "identity reveal", "unlock/access status", or raw schema labels unless the user asks or a live warm-intro match is already on screen.

When a tool requires identity (e.g., community features), the AI assistant will guide you through a simple email verification:

1. The assistant calls `authenticate` or `join_community` with your email.
2. You receive a verification email — click the link.
3. The assistant calls `check_auth_status` to confirm — done.

Session state is tracked via the `Mcp-Session-Id` header, which MCP clients manage automatically. For backward compatibility, explicit `Authorization: Bearer <sessionId>` headers still work.

### Community membership

Community tools (`add_target_investor`, `request_warm_intro`, `list_intro_opportunities`) require community membership context. Use `join_community` to join:

- **MIT**: Provide your `@mit.edu` or `@alum.mit.edu` email — email verification required.
- **ODF**: Provide a promo/invite code — email verification required.

Once joined, the MCP server silently provides your member identity to all community tools.

`create_review_draft` can be used right after email authentication; it does not require selecting a community in chat.

`draft_outreach_message` can be used without community membership. If community context is available (for example `community_slug` or `connector_name`), include it to improve draft personalization.

Warm introductions work only when founders reciprocate. Submitting your own investor reviews is the fastest way to keep the intro graph healthy and improve matching outcomes.
In generic capability summaries, say users can look for warm intro paths or request intros through their community. Save the exact "when do I get connector contact details?" explanation for the moment a real match exists.

---

## Recency And Freshness

Rocketplace search/profile data is strong for relevance, founder reviews, and qualitative investor context, but it does **not** provide consistently verified deal-date fields.

When a user asks for recent activity (for example "active in the last 6 months"), assistant behavior should be:

1. Call Rocketplace tools (`search_investors`, then `get_investor_profile` as needed) to produce a high-quality candidate set.
2. Use web search or deep research on returned investor names/firms to validate current activity timing.
3. Clearly attribute timing claims to external verification (for example "based on web research"), while attributing qualitative fit to Rocketplace data.
4. Keep language natural and user-facing; do not mirror raw field names or internal schema labels.

---

## Key Behaviors

- **Citations and freshness honesty**: search results explain why an investor matched, and time-sensitive recency claims should be externally verified.
- **Fact vs. opinion**: review data is always separated into factual observations and founder sentiment.
- **Draft-first writes**: reviews and other write operations create a draft that must be explicitly confirmed before publishing.
- **Conversational gating**: when you hit a usage cap, the tool response includes what you can still do, what unlocks more access, and the cheapest next action.
- **Stable entity IDs**: all IDs are canonical and persist across calls.
- **Automatic session management**: the MCP server tracks your identity per chat session with no manual configuration.

---

## Links

- **Rocketplace product:** [https://rocketplace.org](https://rocketplace.org)
- **Full PRD and vision:** available in the Rocketplace repository under `Docs/RP/DevGuidelines/`
