Forward Snap

Integrate ChatGPT

Connect ChatGPT as an MCP-based source for Forward Snap.

Overview

Forward Snap can receive saved ideas from ChatGPT through Forward Stack's MCP endpoint. The goal is simple: while a user is in a ChatGPT conversation, they can ask ChatGPT to save the useful part as a snapshot, and Forward Snap stores it with source, summary, tags, and focus context.

The current API exposes a Streamable HTTP MCP endpoint at /mcp. In production, use the public HTTPS URL for the API, such as https://api.example.com/mcp.

Requirements

  • A deployed Forward Stack API reachable over HTTPS.
  • OAuth enabled for ChatGPT app setup.
  • A Forward Stack account for the user connecting ChatGPT.
  • MCP scopes that allow snapshot reads and writes.
  • The save_forward_snapshot tool advertised by the MCP server.

Connect ChatGPT

  1. Open ChatGPT on the web.
  2. Go to Settings -> Apps -> Advanced settings -> Developer mode.
  3. Enable Developer mode if it is not already enabled.
  4. Create an app from the remote MCP server.
  5. Enter the Forward Stack MCP URL, for example https://api.example.com/mcp.
  6. Choose OAuth authentication.
  7. Complete the Forward Stack sign-in flow.
  8. Start a ChatGPT conversation and select the Forward app from Developer mode tools.

OpenAI's current Developer mode docs describe MCP apps as supporting SSE and streaming HTTP, with OAuth, no-auth, and mixed-auth options. The Forward Stack API should use OAuth for user-linked snapshot writes.

Save from ChatGPT

After the app is connected, users can ask ChatGPT to save a useful piece of conversation.

Save this as a Forward Snap.
Use Forward Snap to save the product direction we just agreed on. Tag it as onboarding.
Create a snapshot from this answer. Keep the implementation checklist and the assumptions.

ChatGPT should call save_forward_snapshot with the selected text or summary. Forward Snap should return the saved snapshot so ChatGPT can confirm the result.

Snapshot format

A ChatGPT-imported snapshot should include enough context to be useful outside the original chat.

  • text: the saved conversation excerpt, decision, or generated note.
  • summary: a short readable name for the snapshot.
  • source: mcp or chatgpt.
  • tags: regular searchable tags.
  • focus_tag_id: the existing focus tag when ChatGPT can confidently match one.
  • focus_tag_name: a proposed focus tag when no existing tag fits.
  • focus_tag_weight: an optional strength score for focus matching.

Suggested import behavior

When importing from ChatGPT, Forward Snap should try to match the snapshot to one of the user's existing focus tags. If no existing focus tag fits, Snap can create a new focus tag and tell the user that a new area was added.

ChatGPT should preserve the user's intent instead of over-polishing the note. If the user says to save an exact quote, keep the quote. If the user asks for a summary, save the summary and include only the context needed to understand it later.

Tool behavior

The MCP tool should be explicit about write behavior. Creating a snapshot changes the user's Forward Snap account, so the tool description should make that clear and ChatGPT may ask the user to confirm the action.

  • Use save_forward_snapshot for new snapshots.
  • Use read tools to search or fetch existing snapshots.
  • Do not delete snapshots from ChatGPT in the first integration.
  • Return clear errors when auth, permissions, or rate limits block the save.

Recommended confirmation copy

Saved to Forward Snap: {summary}
Focus tag: {focus_tag_name}
Source: ChatGPT

If a new focus tag was created, include that in the confirmation.

Saved to Forward Snap and created a new focus tag: {focus_tag_name}

Troubleshooting

  • If ChatGPT cannot see the tool, refresh the app in ChatGPT app settings.
  • If OAuth fails, confirm the API's OAuth discovery endpoints are reachable from the public internet.
  • If saves succeed but snapshots do not appear, confirm the authenticated Forward user matches the account open in the Snap app.
  • If the model chooses the wrong tool, prompt it by name: Use Forward Snap's save_forward_snapshot tool.
  • If a snapshot is blocked by rate limits, wait briefly and retry with a shorter excerpt.

References