Skip to content

Overlap

by overlap-ai.com · remote · no sign-in to list tools · v0.3.0 · published by com.overlap-ai

Records what you're working on so Overlap can introduce you to someone two weeks ahead of you.

Deletes · 3Changes · 2

7 tools: 3 can delete or cancel things, 2 change things and 2 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http overlap https://overlap-ai.com/api/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Deletes or cancels 3Claude Code: deny
  • create_match_requestUse this tool to save a private match request draft when the user wants to find a peer living through a similar personal situation.No findings

    Why it is in this group

    • The name "create_match_request" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this tool to save a private match request draft when the user wants to find a peer living through a similar personal situation. Write the match request from the current conversation. Write 2–5 sentences in the third person, and 200–1500 characters. Use the words of the user, not formal or clinical words. Cover three things: the situation, where the user is in it, and what help they want. Write it so that a stranger in the same place recognizes themselves. Any situation belongs here: an illness, a company, a move, a course, a hard year. Example of a good match request: "She was diagnosed with early-stage breast cancer four months ago and is halfway through chemotherapy. The medical side goes to plan. She finds the isolation harder than the treatment. The people around her keep telling her to stay positive. She hopes to hear from someone at a similar stage who understands the day-to-day of it." Never invent a detail. Never include a name, an email address, an employer or another personal identifier. With no replaces_draft_id, this tool saves a new independent private draft. With replaces_draft_id, it saves the complete revised text as a new draft and supersedes only the identified earlier draft. Existing open requests remain unchanged. The draft is not submitted to the matching pool and contacts nobody. Returns request_id, status and the exact stored request_text. Publishing uses the separate confirm_match_request tool and requires the user’s explicit approval of that exact stored text. Discarding uses withdraw_match_request with the draft’s request_id.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • respond_to_matchRecord the one answer the user gave about a match: accept, decline or block.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Record the one answer the user gave about a match: accept, decline or block. Call it only after the user has said which of the three they want. When both people accept, overlap opens a private conversation in the app. It also sends each person a link by email. Never promise an address. A decline covers this one request, and a later request from that person can still match. A block is permanent and covers the person, so send block only when the user asks for exactly that.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • withdraw_match_requestWithdraw one match request, either a draft or an open one.No findings

    Why it is in this group

    • The name "withdraw_match_request" says "withdraw": a word that usually means money moves, which cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Withdraw one match request, either a draft or an open one. Always pass its request_id. If it is unclear which one the user means, call check_matches first. The other requests of the user stay active. This voids a pending match from this request. It keeps a match that both people accepted.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
Changes things 2Claude Code: ask
  • check_matchesWhere the user stands.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Where the user stands. It returns every current match request, the number of other people in the pool, and any match. Use it to answer what the user submitted, and who they matched with. A match can appear days later.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • confirm_match_requestConfirm one draft match request and add it to the matching pool.No findings

    Why it is in this group

    • The name "confirm_match_request" says "request": a word for a change.
    Description, as the server wrote it
    Confirm one draft match request and add it to the matching pool. The other requests of the user do not change. It stays active until the user withdraws it. Call this ONLY after the user approves the exact stored text. Always pass its request_id.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
Only reads 2Claude Code: allow
  • get_match_detailsGet the full details of one match: what the other person wrote, why the two of them matched, something to open with, and where the match stands.No findings

    Why it is in this group

    • The name "get_match_details" says "get": a word for reading.
    Description, as the server wrote it
    Get the full details of one match: what the other person wrote, why the two of them matched, something to open with, and where the match stands. It only reads. To accept, decline or block the match, call respond_to_match. Never promise an address.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • preview_poolCount people in overlap's peer-connection pool who are going through a similar personal situation.No findings

    Why it is in this group

    • The name "preview_pool" says "preview": a word for reading.
    Description, as the server wrote it
    Count people in overlap's peer-connection pool who are going through a similar personal situation. Use when the user asks whether another person shares their situation before deciding whether to join. Do not use for intersections of lists, sets or schedules, dating, or finding licensed professionals. Returns a number and nothing else, capped at 10 — never anyone's words, name or details. It saves nothing: no match request is created and nobody is contacted. This is the one tool that works without an account.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http overlap https://overlap-ai.com/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__overlap__preview_pool",
      "mcp__overlap__get_match_details"
    ],
    "ask": [
      "mcp__overlap__confirm_match_request",
      "mcp__overlap__check_matches"
    ],
    "deny": [
      "mcp__overlap__create_match_request",
      "mcp__overlap__respond_to_match",
      "mcp__overlap__withdraw_match_request"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as overlap. Review it before you use it.