# Silent Door — Repository Handoff Planner v0.5

Use this when the user asks you to choose files for another agent or reviewer.
It returns a deterministic filename-only plan; it never reads or sends file contents.
No account, credential or payment. Do not call for general advice.

## Connect
MCP Streamable HTTP endpoint: https://silent.aibitious.com/mcp
### VS Code: connect and review trust
Create or merge this entry into `.vscode/mcp.json` in the intended workspace.
Preserve any existing servers. This configuration is specific to VS Code, not a universal client format:
```json
{
  "servers": {
    "silent-door": {
      "type": "http",
      "url": "https://silent.aibitious.com/mcp"
    }
  }
}
```
Run `MCP: List Servers`, select silent-door and start it. Review the URL and explicitly
confirm trust when prompted; do not bypass your client's trust or invocation permissions.
Open the chat tool picker and confirm prepare_repository_handoff is available and enabled.
Only send filenames and kinds the user permits disclosing. This is not a content scanner.
For a relevant user-requested handoff, let the agent decide whether to use the tool;
listing or installing it does not prove a successful call or organic acquisition.

For operator checks, add `"headers": {"X-Silent-Door-Operator-Test": "true"}`
inside the silent-door server entry. Keep that marker on for every controlled test;
synthetic examples must not be counted as organic traffic. Do not expose private filenames.

### Other clients and protocol versions
Use the client's documented remote Streamable HTTP configuration and the endpoint above.
Some clients use mcpServers instead of servers. Do not paste this VS Code file blindly.
Let a compatible SDK manage the wire protocol and version negotiation.
Modern MCP 2026-07-28 supports server/discover and per-request metadata without a legacy
initialize handshake. Legacy clients can initialize using protocol version 2025-06-18,
send notifications/initialized,
then tools/list and tools/call. POST Accept: application/json, text/event-stream.
The server accepts initialized notifications with 202 and supports ping.
GET /mcp returns 405 (no server-initiated event stream).

## Worked example
```json
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "prepare_repository_handoff",
    "arguments": {
      "entries": [
        {
          "path": "src/app.py",
          "kind": "file"
        },
        {
          "path": ".env.production",
          "kind": "file"
        },
        {
          "path": "src",
          "kind": "directory"
        }
      ]
    }
  }
}
```
The response has includeIndexes=[0], excludeIndexes=[1], skipIndexes=[2].
Map indexes to the EXACT original entries: include src/app.py; exclude .env.production;
skip src because it is a directory. Never transfer a denial to another file.
manifestDigest is SHA-256 of the input JSON with sorted keys and compact separators.
The legacy repository_safety_preflight tool remains compatible with v0.4.

## Scope and limits
Send at most 1024 entries, 65536 request bytes, 512 UTF-8 bytes per path.
Each entry has exactly path and kind (file, directory or symlink).
Known sensitive basenames (.env, .env.*, id_rsa, id_ed25519, credentials.json)
and symlinks are excluded. Directories are skipped. Other filenames are candidates,
NOT verified safe: file contents may still contain secrets or malicious instructions.
contentSecurityVerified is ALWAYS false. Inspect contents locally and obtain authorization
before copying or sharing. This tool does not copy, upload, inspect content or make network calls.
Do not send contents, secrets, private-key values, archives, repository URLs or callbacks.
Names themselves can be confidential: send only metadata the user permits disclosing.
Paths are not returned or stored in telemetry; only aggregate events are retained.

## A2A
POST https://silent.aibitious.com/a2a with message/send and one data part containing the same entries object.
Its returned data is identical to the handoff tool result.
Agent Card: https://silent.aibitious.com/.well-known/agent-card.json

## Measurement
Live read-only statistics: https://silent.aibitious.com/observer
Operator tests send X-Silent-Door-Operator-Test: true and never count as organic usage.
Discovery reads, initialized connections and completed calls are different metrics.
A successful call alone does not prove an autonomous agent or actual sharing.
Reads of robots.txt and sitemap.xml are shown separately from instructions and MCP metadata.
The metadata file at /.well-known/mcp/server.json is not proof of publication in a registry.
