markit-mcp

markit-mcp

Enables AI to search, read, save, and manage reminders in your personal MarkIt library.

Category
Visit Server

README

<p align="center"> <img src="assets/banner.png" alt="MarkIt - everything you save, findable again" width="100%" /> </p>

MarkIt MCP - connect your AI to your library

Bring your own AI. MarkIt is the memory.

[!TIP] The lazy path (recommended): paste this repo's URL into your AI and say "connect me to MarkIt". It reads llms.txt and handles everything below for you.

MarkIt saves the links, posts, and notes you'd otherwise lose, and makes them searchable in plain language. This repo is the official guide for connecting your own AI - Claude, ChatGPT, Cursor, and friends - to your MarkIt library over the open Model Context Protocol.

Once connected, your AI can search your library, read what it finds, save new things into it, and set reminders. In your words, not keywords.

Server URL:  https://mark-it.co/api/mcp
Transport:   Streamable HTTP
Auth:        OAuth 2.1 (sign in) or a personal API key (mkt_...)

Pick your path

Option 1 - Sign in (OAuth). No key to handle. Paste the server URL where your app asks for a custom connector or MCP server, and sign in to MarkIt when the browser opens. Best for Claude, ChatGPT web, Cursor, VS Code.

Option 2 - API key. Generate a key in Settings > Integrations (shown once, keep it secret). Best for CLIs, scripts, and the ChatGPT desktop app.


Option 1 - sign in from your app

One-click installs

Add to Cursor Add to VS Code

Everyone else

App Steps
Claude (claude.ai + Claude Desktop) Settings > Connectors (under Customize) > Add custom connector > paste https://mark-it.co/api/mcp > authorize. Available on all plans (Free allows one custom connector). Known issue: an open Anthropic-side bug can fail the authorization right after you approve - if that happens, use Claude Code (below) until Anthropic ships the fix.
ChatGPT (web) Settings > Security and login > turn on Developer mode, then Settings > Plugins (or chatgpt.com/plugins) > + > paste the server URL > connect with OAuth.
Claude Code claude mcp add --transport http markit https://mark-it.co/api/mcp then run /mcp in a session and pick Authenticate. Add --scope user to use it in every project.
Codex CLI Add the server (see clients/codex.toml, skip the token line) then codex mcp login markit.
Zed Add a context_servers entry with just the url (see clients/zed.json); Zed prompts you through OAuth when there is no Authorization header.

Option 2 - use your API key

  1. In MarkIt Settings > Integrations, open Connect Your AI and generate your key. It starts with mkt_ and is shown once.
  2. Grab your app's config from clients/ and replace mkt_your_key_here:
App Config
Claude Code clients/claude-code.md
Cursor clients/cursor.json
VS Code clients/vscode.json
Codex CLI + ChatGPT desktop app clients/codex.toml (they share ~/.codex/config.toml)
Windsurf clients/windsurf.json
Cline clients/cline.json
Zed clients/zed.json
Anything stdio-only clients/mcp-remote.json

Rules of the key: one per account, treat it like a password, never paste it into a chat, revoke or regenerate anytime in Settings.


What your AI gets

Tool What it does
search Plain-language search over your library, with optional filters (category, platform, type, author, tags, dates).
fetch Full stored content of one item by id.
list_categories Your categories with item counts.
save_item Save a URL or a text note into your library. MarkIt scrapes, categorizes, and indexes it. Each save spends one monthly capture; re-saving a URL you already have is a free no-op.
create_reminder Set or reschedule a reminder on an item (email for everyone; WhatsApp/Telegram on Pro).
list_reminders Your pending reminders.
cancel_reminder Cancel one reminder by id. Never touches the item itself; Google-Calendar-synced reminders stay managed on-site.
send_feedback Send a short note straight to MarkIt's founder - only when you ask it to. A real person reads every one. Max 3 a day.

What it can NOT do, by design: delete items, edit your account, touch anyone else's data. Saved page content is treated as data, never as instructions.

Privacy, in one breath

Your AI talks to MarkIt with your identity and only ever sees your items. Whatever AI you connect (Claude, ChatGPT, ...) is your own tool under its own terms - MarkIt does not send your library anywhere on its own. OAuth grants are revocable from your AI app; the API key is revocable in Settings. Full details: Privacy Policy.

Troubleshooting

  • 401 right after connecting with a key: the header must be exactly Authorization: Bearer mkt_... - check for a lost space or a truncated key (regenerating in Settings invalidates old keys).
  • Windsurf: the remote-server field is serverUrl, not url.
  • Cline: set "type": "streamableHttp" explicitly.
  • VS Code says it cannot start the server: an entry with a url also needs "type": "http".
  • Claude says "Authorization with MarkIt failed" right after you approve: known Anthropic-side bug in claude.ai custom connectors (our server completes the whole OAuth flow; Claude drops it after the token). Use Claude Code or Cursor until it's fixed.
  • Sign-in window never comes back: finish the login in the browser tab it opened, then retry from the app; some apps need a retry after the first authorize.
  • mcp-remote shim: keep it current (mcp-remote@latest; versions before 0.1.16 have a known critical vulnerability). No space around the colon in Authorization:${AUTH_HEADER} on Windows.
  • Still stuck? support@mark-it.co.

For your AI

Point your assistant at llms.txt - a plain-text playbook that teaches it to connect you and to use the tools well. Same file, branded URL: mark-it.co/mcp/llms.txt.

Claude Code users can go one step further: copy the skill/ folder into .claude/skills/markit/ and Claude picks up the full MarkIt usage playbook (when to search vs save, note etiquette, reminder handling) automatically.

License

MIT. The MarkIt name and logo belong to MarkIt.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured