Guides

How to Connect Your Bookmarks to Claude, ChatGPT, and Cursor with MCP

InfoSpace TeamNovember 3, 20269 min read
Back to Blog
How to Connect Your Bookmarks to Claude, ChatGPT, and Cursor with MCP

InfoSpace Team · InfoSpace

Share:

The short answer: InfoSpace runs a Model Context Protocol (MCP) server at https://infospace.io/api/mcp. To connect it, generate an API key on the API Keys page and add the endpoint to your AI client with the key in an X-API-Key header. Claude Code, Cursor, and the OpenAI Responses API connect directly, and Claude Desktop connects through the mcp-remote bridge. Once connected, your agent can search your saved links, read your curated search engines, and save new links for you.

Your bookmarks are some of the best context you have: sources you've already read and decided to trust. This guide shows you how to make them available to the AI tools you work in.

What is MCP, and why connect your bookmarks to it?

The Model Context Protocol is an open standard for connecting AI applications to external tools and data. An MCP server exposes a set of named tools, and an MCP client (Claude, Cursor, an agent you build) can discover and call them during a conversation.

Connecting your InfoSpace library over MCP means you can:

  • Ask Claude to "find the articles I saved about vector databases" and get your sources, not a web search
  • Have Cursor pull the docs links from your "Frontend references" search engine while you code
  • Tell an agent to save a list of URLs, letting InfoSpace's AI extract titles, descriptions, categories, and tags
  • Build research workflows that start from a curated set of sources instead of the whole web
  • What can an AI agent do with your InfoSpace links?

    The InfoSpace MCP server exposes 17 tools:

    AreaToolWhat it does
    Linkslist_linksList your saved links. Filters: category, tag, search, is_public, is_pinned, is_archived, limit, offset
    Linkscreate_linkSave a URL with AI metadata extraction (1 credit)
    Linksbulk_create_linksSave up to 20 URLs at once (1 credit each), with an optional category override
    Linksupdate_linkChange title, description, category, tags, notes, or public/pinned/archived status
    Linksdelete_linkDelete a link by ID
    Search engineslist_search_enginesList your search engines, or all public ones with public_only
    Search enginescreate_search_engineCreate an engine with a name, description, icon, and visibility
    Search enginesget_engine_linksGet every link in an engine, optionally filtered by a search query
    Search enginesadd_link_to_engineAdd one of your links to an engine
    Search enginesremove_link_from_engineRemove a link from an engine
    Discoveryget_categoriesYour categories with link counts
    Discoveryget_tagsYour tags with usage counts
    Discoveryget_search_historyYour recent searches
    Discoveryexplore_public_linksBrowse publicly shared links (no auth required)
    Profileget_profileRead your profile
    Profileupdate_profileUpdate display name, bio, or tags per link (1–30)
    Creditsget_creditsCheck your credit balance

    The search filters match keywords against a link's title, description, and URL. Because InfoSpace writes descriptive metadata for every link when you save it, keyword search over that metadata finds things even when the page title is vague.

    What do you need before you start?

  • An InfoSpace account with some links saved. Sign up if you don't have one.
  • An API key. Go to the API Keys page, create a key, and copy it. Treat it like a password.
  • Credits if you want the agent to save links. Reading and searching don't use AI extraction, but every create_link and bulk_create_links URL costs 1 credit. See Pricing.
  • Node.js if you're using Claude Desktop (for the mcp-remote bridge).
  • Technical details for client configuration:

  • Endpoint: https://infospace.io/api/mcp
  • Transport: Streamable HTTP, stateless (JSON-RPC over POST; no session, no standalone GET stream)
  • Auth: X-API-Key: , or Authorization: Bearer
  • Protocol versions: 2025-03-26 and 2025-06-18
  • Rate limit: 100 requests per minute per API key
  • How do you test the InfoSpace MCP endpoint?

    Before configuring a client, check that your key works with a single curl call. The server is stateless, so you can call a tool directly:

    curl -s https://infospace.io/api/mcp \
      -H "Content-Type: application/json" \
      -H "X-API-Key: $INFOSPACE_API_KEY" \
      -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_credits","arguments":{}}}'

    A working key returns your balance inside result.content. A bad key returns Error: Invalid API key in the tool output. To see every tool and its input schema, send "method":"tools/list" instead.

    How do you connect InfoSpace to Claude Desktop?

    Claude Desktop's built-in custom connectors expect OAuth or no authentication, and InfoSpace authenticates with an API key header. The reliable approach is the open-source mcp-remote bridge, which runs locally and forwards requests to the remote server with your header attached.

  • In Claude Desktop, open Settings → Developer → Edit Config. This opens claude_desktop_config.json (on macOS it's in ~/Library/Application Support/Claude/; on Windows, %APPDATA%\Claude).
  • Add the InfoSpace server:
  • {
      "mcpServers": {
        "infospace": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://infospace.io/api/mcp",
            "--header",
            "X-API-Key:${INFOSPACE_API_KEY}"
          ],
          "env": {
            "INFOSPACE_API_KEY": "your_api_key_here"
          }
        }
      }
    }
  • Fully quit and reopen Claude Desktop. InfoSpace should appear in the tools menu with its 17 tools.
  • Passing the key through env and writing the header as X-API-Key:${INFOSPACE_API_KEY} (no space after the colon) avoids argument-escaping problems on some platforms.

    How do you connect InfoSpace to Claude Code?

    Claude Code supports remote HTTP servers with custom headers natively, so you only need one command:

    claude mcp add --transport http infospace https://infospace.io/api/mcp \
      --header "X-API-Key: your_api_key_here"

    Run /mcp inside Claude Code to confirm the server is connected.

    How do you connect InfoSpace to Cursor?

    Cursor reads MCP servers from ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project) and supports remote servers with headers:

    {
      "mcpServers": {
        "infospace": {
          "url": "https://infospace.io/api/mcp",
          "headers": {
            "X-API-Key": "your_api_key_here"
          }
        }
      }
    }

    Save the file, open Cursor Settings → MCP, and check that InfoSpace shows as enabled with its tools listed. If you use a project-level file, add it to .gitignore so your key doesn't get committed.

    How do you connect InfoSpace to ChatGPT?

    There are two ways, and they give different levels of access.

    In the ChatGPT app, custom MCP connectors (available through developer mode on supported plans) are configured with OAuth or no authentication. Because InfoSpace uses an API key header, a connector added without authentication can only use the public tools: explore_public_links and list_search_engines with public_only. That's still useful for searching community-curated links, but it can't see your private library.

    With the OpenAI Responses API, you can pass headers to a remote MCP server, so all 17 tools work. Here's a minimal Python example that limits the agent to read-only tools:

    import os
    from openai import OpenAI
    
    client = OpenAI()
    
    response = client.responses.create(
        model="gpt-5",  # any model that supports remote MCP tools
        tools=[{
            "type": "mcp",
            "server_label": "infospace",
            "server_url": "https://infospace.io/api/mcp",
            "headers": {"X-API-Key": os.environ["INFOSPACE_API_KEY"]},
            "allowed_tools": ["list_search_engines", "get_engine_links", "list_links"],
            "require_approval": "never",
        }],
        input="Find the links in my 'AI research' search engine about evaluation benchmarks.",
    )
    
    print(response.output_text)

    Restricting allowed_tools is a good habit for any automated agent. Add write tools like create_link only when you want the agent to change your library.

    What should you ask your agent?

    Once connected, describe what you want in plain language. Prompts that work well:

  • "List my search engines, then show me everything in the one about onboarding."
  • "Search my saved links for anything about Postgres indexing and summarize what each one covers."
  • "Save these five URLs and add them to my 'Competitor research' search engine."
  • "Which tags do I use most? Suggest a new search engine I should create from them."
  • "What public links are there about prompt engineering on InfoSpace Explore?"
  • "Archive every link in the 'Design' category that I haven't pinned."
  • The agent will chain tools on its own. For example, it calls list_search_engines to find an engine's ID before calling get_engine_links.

    How do credits, rate limits, and security work?

  • Credits. Saving links costs 1 credit per URL because each one runs AI metadata extraction. bulk_create_links stops when your balance runs out and reports which URLs were saved. Check your balance anytime with get_credits. API-key requests also show up in usage analytics on the API Keys page, and the docs note they can consume API credits, so keep an eye on your balance if an agent is making many calls.
  • Rate limits. API-key requests are limited to 100 per minute per key. Agents that loop over large libraries should page through results with limit and offset instead of making many small calls.
  • Scope. Every authenticated tool works only on your own links and search engines. explore_public_links only returns links their owners marked public.
  • Key hygiene. API keys are hashed before they're stored. Use a separate key for each client so you can revoke one on the API Keys page without breaking the others.
  • FAQ

    What is the InfoSpace MCP server URL?

    https://infospace.io/api/mcp. It uses the Streamable HTTP transport in stateless mode and authenticates with an X-API-Key header or Authorization: Bearer with an API key.

    Does the InfoSpace MCP server support OAuth?

    Not currently. It authenticates with API keys, which is why Claude Desktop uses the mcp-remote bridge and why ChatGPT's in-app connectors are limited to public tools.

    Can an agent search my bookmarks without saving anything?

    Yes. list_links, get_engine_links, list_search_engines, get_tags, and get_categories are read-only. In clients that let you approve or restrict tools, allow only those.

    How many links can an agent save at once?

    bulk_create_links accepts up to 20 URLs per call at 1 credit each. For bigger imports, the dashboard's Bulk Import handles 25 links per batch.

    Do I need to write code to use this?

    No. Claude Desktop, Claude Code, and Cursor only need the config shown above. You only need code for the OpenAI Responses API or a custom agent.

    Start building

    Your saved links are more useful when your AI tools can read them too. Create an account, save a few dozen links, generate a key on the API Keys page, and connect your first client. The full tool reference is in the MCP section of the docs, and the REST API is documented on the API reference.

    Stay Updated

    Get the latest articles and product updates delivered to your inbox.