{
  "$note": "MarketConnector catalog for AI agents. 12 real open-source MCP servers (Open Registry) + 15 house 'Connector' concepts (noir series). access: 'open' | 'members'. Subscribe is a placeholder — no billing yet.",
  "updated_utc": "2026-10-27T00:00:00Z",
  "canonical": "https://noappes.pages.dev/market",
  "what_is_it": "MarketConnector is a catalog of Model Context Protocol (MCP) libraries presented as noir 'connector' services: an assistant can reach tools through one connector instead of humans opening many apps.",
  "open_registry": [
    { "id": "filesystem", "name": "Filesystem", "cat": "Files", "license": "MIT", "vendor": "Anthropic (modelcontextprotocol)", "repo": "https://github.com/modelcontextprotocol/servers", "description": "Read, write and search a sandboxed folder of files — the baseline every assistant should have.", "highlights": ["Sandboxed to chosen directories", "Read / write / move / search", "Works from any MCP client"], "install": "npx -y @modelcontextprotocol/server-filesystem ~/docs" },
    { "id": "gitmcp", "name": "Git", "cat": "VCS", "license": "MIT", "vendor": "modelcontextprotocol", "repo": "https://github.com/modelcontextprotocol/servers", "description": "Inspect any repository: status, diffs, log, branches and commits — through conversation.", "highlights": ["Status, diff, log, commit", "Local repos only — safe", "Read and write operations"], "install": "uvx mcp-server-git --repository ~/src/project" },
    { "id": "github", "name": "GitHub", "cat": "VCS", "license": "MIT", "vendor": "GitHub Official", "repo": "https://github.com/github/github-mcp-server", "description": "The official GitHub server — issues, pull requests, files, actions and repos under your account.", "highlights": ["Issues & PR end-to-end", "Workflows and repo files", "GitHub-maintained, first-party"], "install": "docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server" },
    { "id": "postgres", "name": "Postgres", "cat": "Data", "license": "MIT", "vendor": "Anthropic (modelcontextprotocol)", "repo": "https://github.com/modelcontextprotocol/servers", "description": "Read a PostgreSQL schema and query it in words — schema first, then rows.", "highlights": ["Read-only by design", "Schema and index discovery", "Ad-hoc SQL with results"], "install": "npx -y @modelcontextprotocol/server-postgres postgresql://host/db" },
    { "id": "memory", "name": "Memory", "cat": "Knowledge", "license": "MIT", "vendor": "Anthropic (modelcontextprotocol)", "repo": "https://github.com/modelcontextprotocol/servers", "description": "A persistent knowledge graph your assistant remembers between sessions.", "highlights": ["Entities, relations, facts", "Persists across restarts", "Local JSON storage"], "install": "npx -y @modelcontextprotocol/server-memory" },
    { "id": "fetch", "name": "Fetch", "cat": "Web", "license": "MIT", "vendor": "Anthropic (modelcontextprotocol)", "repo": "https://github.com/modelcontextprotocol/servers", "description": "Fetch a URL and extract clean markdown — robots.txt respected.", "highlights": ["HTML to markdown", "robots.txt aware", "Optional start at a query"], "install": "uvx mcp-server-fetch" },
    { "id": "playwright", "name": "Playwright", "cat": "Browser", "license": "Apache-2.0", "vendor": "Microsoft", "repo": "https://github.com/microsoft/playwright-mcp", "description": "Drive a real browser: click, fill, screenshot, read the accessibility tree — hands for the web.", "highlights": ["Accessibility-tree driven", "Tabs, forms, screenshots", "Microsoft-maintained"], "install": "npx -y @playwright/mcp@latest" },
    { "id": "cloudfmcp", "name": "Cloudflare", "cat": "Infra", "license": "MIT / Apache-2.0", "vendor": "Cloudflare", "repo": "https://github.com/cloudflare/mcp-server-cloudflare", "description": "Official remote servers for Workers, KV, R2, D1 and more — manage the edge by conversation.", "highlights": ["Workers, KV, R2, D1", "Remote — OAuth sign-in", "Cloudflare-maintained"], "install": "Remote — enable from the Cloudflare dashboard or via mcp-remote" },
    { "id": "supamcp", "name": "Supabase", "cat": "Data", "license": "Apache-2.0", "vendor": "Supabase (community)", "repo": "https://github.com/supabase-community/supabase-mcp-server", "description": "Tables, migrations and project management for your Supabase workspace.", "highlights": ["Schema and migrations", "Project administration", "Safety mode supported"], "install": "npx -y supabase-mcp-server (see repo README for flags)" },
    { "id": "brave", "name": "Brave Search", "cat": "Search", "license": "MIT", "vendor": "Brave", "repo": "https://github.com/brave/brave-search-mcp-server", "description": "Independent web and local search with results that respect the user.", "highlights": ["Web + local search", "Free tier via API key", "No tracking"], "install": "npx -y @brave/brave-search-mcp-server" },
    { "id": "stripemcp", "name": "Stripe", "cat": "Payments", "license": "MIT", "vendor": "Stripe", "repo": "https://github.com/stripe/agent-toolkit", "description": "Create payment links, read invoices and manage customers in your Stripe account.", "highlights": ["Payment links & invoices", "Customer management", "Scoped keys recommended"], "install": "npx -y @stripe/mcp" },
    { "id": "notion", "name": "Notion", "cat": "Docs", "license": "MIT", "vendor": "Notion Official", "repo": "https://github.com/makenotion/notion-mcp-server", "description": "Search, read and update your Notion workspace — the wiki becomes a conversation.", "highlights": ["Search & read pages", "Create and update content", "Notion-maintained"], "install": "npx -y @notionhq/notion-mcp-server" }
  ],
  "connector_series": [
    { "id": "ledger", "name": "Ledger", "cat": "Finance", "access": "open", "description": "Keeps the books by conversation — record income and expenses, close the day, read balances.", "functions": [ { "name": "record_entry", "does": "Add an income or expense with category & method" }, { "name": "day_close", "does": "Close the cash day, flag differences" }, { "name": "balance", "does": "Balance & P/L for any period" }, { "name": "export_csv", "does": "Export entries for the accountant" } ] },
    { "id": "courier", "name": "Courier", "cat": "Messaging", "access": "members", "description": "Sends and reads WhatsApp & Telegram on your behalf — receipts, reminders, broadcasts with opt-out.", "functions": [ { "name": "send_message", "does": "Text / document to a number or group" }, { "name": "broadcast", "does": "Throttled blast with STOP handling" }, { "name": "read_thread", "does": "Summarise the latest conversation" }, { "name": "schedule", "does": "Queue a message for later" } ] },
    { "id": "concierge", "name": "Concierge", "cat": "Reservations", "access": "members", "description": "Books courts, tables and rooms across venues. Checks availability, holds slots, confirms payment.", "functions": [ { "name": "availability", "does": "Free slots by date, time & venue" }, { "name": "hold_booking", "does": "Hold a slot with a pay-by deadline" }, { "name": "confirm", "does": "Confirm after payment proof" }, { "name": "reschedule", "does": "Move a booking safely" } ] },
    { "id": "telegraph", "name": "Telegraph", "cat": "Email", "access": "open", "description": "Drafts, sends and files email. Plain words in, a well-mannered letter out.", "functions": [ { "name": "draft", "does": "Compose from a short brief" }, { "name": "send", "does": "Send with attachments" }, { "name": "search", "does": "Find mail by sender, subject, date" }, { "name": "label", "does": "File & tag threads" } ] },
    { "id": "archive", "name": "Archive", "cat": "Storage", "access": "open", "description": "A quiet filing cabinet. Store, find and share documents without opening a single app.", "functions": [ { "name": "store", "does": "Save a file with tags" }, { "name": "find", "does": "Full-text search across files" }, { "name": "share_link", "does": "Time-limited private link" }, { "name": "versions", "does": "History of a document" } ] },
    { "id": "detective", "name": "Detective", "cat": "Research", "access": "open", "description": "Searches the web, reads the pages and returns the facts — with sources, never rumours.", "functions": [ { "name": "search", "does": "Query the open web" }, { "name": "read_page", "does": "Extract the article text" }, { "name": "compare", "does": "Side-by-side facts from sources" }, { "name": "cite", "does": "Return quotes with links" } ] },
    { "id": "cashier", "name": "Cashier", "cat": "Payments", "access": "members", "description": "Takes payment without a terminal app — dynamic QRIS, proof reading, refunds and the till report.", "functions": [ { "name": "qris", "does": "Dynamic QRIS with the exact amount" }, { "name": "verify_proof", "does": "Read & match a transfer screenshot" }, { "name": "refund", "does": "Refund with approval" }, { "name": "till_report", "does": "Shift report per method" } ] },
    { "id": "almanac", "name": "Almanac", "cat": "Calendar", "access": "open", "description": "Your diary, by voice or text. Plans meetings around everyone and remembers the details.", "functions": [ { "name": "agenda", "does": "What is on today / this week" }, { "name": "schedule", "does": "Find a time & invite" }, { "name": "remind", "does": "Reminder before an event" }, { "name": "block", "does": "Protect focus hours" } ] },
    { "id": "typewriter", "name": "Typewriter", "cat": "Documents", "access": "open", "description": "Invoices, letters and contracts typeset and filed — formal paperwork done by conversation.", "functions": [ { "name": "invoice_pdf", "does": "Numbered invoice from line items" }, { "name": "letter", "does": "Formal letter from a template" }, { "name": "contract", "does": "Fill a contract with parties & terms" }, { "name": "sign", "does": "Add signature & stamp" } ] },
    { "id": "switchboard", "name": "Switchboard", "cat": "Voice", "access": "members", "description": "Answers the phone, takes messages and routes calls — an operator that never sleeps.", "functions": [ { "name": "answer", "does": "Greet & understand the caller" }, { "name": "transfer", "does": "Route to the right person" }, { "name": "voicemail", "does": "Transcribe & summarise" }, { "name": "call_back", "does": "Schedule a return call" } ] },
    { "id": "cartographer", "name": "Cartographer", "cat": "Maps", "access": "open", "description": "Places, routes and travel times. Ask where, get there — no map app required.", "functions": [ { "name": "place", "does": "Find a place & its hours" }, { "name": "route", "does": "Directions & travel time" }, { "name": "nearby", "does": "What is close to a point" }, { "name": "geocode", "does": "Address — coordinates" } ] },
    { "id": "gazette", "name": "Gazette", "cat": "Publishing", "access": "members", "description": "Writes and posts to your social pages on schedule, then reports what the audience said.", "functions": [ { "name": "compose", "does": "Post copy in your house style" }, { "name": "publish", "does": "Post now or on schedule" }, { "name": "replies", "does": "Digest of comments & DMs" }, { "name": "insights", "does": "Reach & engagement summary" } ] },
    { "id": "vault", "name": "Vault", "cat": "Security", "access": "members", "description": "Keeps secrets secret — passwords, keys and one-time codes, released only to you.", "functions": [ { "name": "store_secret", "does": "Encrypt & keep a credential" }, { "name": "reveal", "does": "Release after your confirmation" }, { "name": "rotate", "does": "Rotate a key on schedule" }, { "name": "audit", "does": "Who used what, and when" } ] },
    { "id": "projector", "name": "Projector", "cat": "Media", "access": "members", "description": "Turns words into pictures and motion — posters, product shots and short films.", "functions": [ { "name": "image", "does": "Generate an image from a brief" }, { "name": "edit", "does": "Retouch, crop, remove background" }, { "name": "motion", "does": "Short portrait video from frames" }, { "name": "caption", "does": "Subtitles & alt text" } ] },
    { "id": "ticker", "name": "Ticker", "cat": "Markets", "access": "members", "description": "Prices, rates and the morning wire. Watches your list and wakes you only when it matters.", "functions": [ { "name": "quote", "does": "Latest price & change" }, { "name": "watch", "does": "Alert on a threshold" }, { "name": "fx", "does": "Currency conversion" }, { "name": "brief", "does": "Morning market summary" } ] }
  ]
}