Freeport

MCP serverSearch

freeport-nostr gives your AI the ability to search events on Freeport, covering rides, services, and reputation. Once added, your AI can find results by event kind, tag, or distance from a location, so you can ask for nearby rides or services in plain language.

Use Freeport in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Freeport and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the nostr search intents tool from Freeport

Details

Available today. Use it from your connected AI after setup.

After adding it, tell your AI what you are looking for, such as rides or services near a place, and it will search Freeport for matching events.

FreeportStart free

What your AI can do with it

  • Find rides offered within a set distance of a location
  • Search services by tag
  • Look up reputation events
  • Filter Freeport events by kind
  • Narrow any search to a geographic radius

Install Freeport

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user freeport 'https://nostr-mcp.trinh.uk/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://nostr-mcp.trinh.uk/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=freeport&config=eyJ1cmwiOiJodHRwczovL25vc3RyLW1jcC50cmluaC51ay9tY3AifQ==

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://nostr-mcp.trinh.uk/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add freeport --url 'https://nostr-mcp.trinh.uk/mcp'

    Run it once, then sign in with codex mcp login freeport if the server asks for an account.

From the project's README

As published by ptrinh/freeport in README.md.

Decentralized P2P marketplace over Nostr. Users broadcast trade intents into topic-scoped markets; personal agents discover counterpart intents and negotiate automatically. Humans confirm final deals. No central operator, no matching server — relays are dumb pub/sub, all logic is client-side.

Demo (2 minutes)

https://github.com/user-attachments/assets/506c82ac-c5eb-415d-b981-ba14c4f165bc

Also on the landing page.

Why Freeport exists

  • It's a research project. How far can pure P2P infrastructure go? Buyers, sellers, riders, drivers meet over Nostr, settle in Lightning or cash. Nothing in between needs permission to exist.
  • It's a thesis. A P2P marketplace with a reputation system works. When people own their reputation, the market self-regulates.
  • It's a check and balance. A zero-fee exit that answers to no one puts a ceiling on how greedy the big platforms can get.
  • It's fun. An open protocol, Claude Code as a pair programmer, no investor deck.
  • Nobody profits — including me. No operator, no cut. A protocol, not a platform. Run it or fork it.
  • No one will protect you here — that's the point, and the price. No support line, no refunds, no central authority. Your judgment comes first, backed by opt-in safeguards no operator runs: a reputation system (karma, co-signed receipts, web-of-trust), escrow arbitration (examples/arbitrator), ID verification (examples/id-verification), and insurance (examples/insurance-store) priced from reputation. You choose how much of the safety net to use.

What works today

  • Everywhere: iOS + Android app stores, web/PWA, desktop installers for macOS/Windows/Linux with self-update — plus a single-file offline copy: the whole app in one HTML file that runs from file://, no install, no server.
  • Wallet (experimental): built-in self-custodial Bitcoin Lightning + stablecoin (USDT/USDB) wallet (Breez SDK/Spark). Keys derive from your Nostr key — one backup covers identity and funds. Lightning address (you@freeport.network), on-chain, QR scan, local-currency balances, and one-tap Pay / Pay QR on confirmed deals. Bring your own wallet over NWC instead if you prefer. Spark is a young trust-minimized L2 — treat it as a spending wallet.
  • Reputation: peer-rated karma, co-signed deal receipts, proven-deal counts, web-of-trust weighting. Sybil resistance stays open — treat zero-history identities with caution.
  • Chat: invite-based 1:1 encrypted chat beyond deals — QR/link invites, replies, emoji reactions, disappearing messages, delivery/read receipts, voice messages, location sharing, in-chat search and Lightning payments. Between updated clients it upgrades to NIP-17 gift wrap, so relays can't even see who talks to whom.
  • Calls (experimental): peer-to-peer audio/video calls in chat (WebRTC, end-to-end encrypted, signaling over encrypted DMs — no call server), with screen sharing on web. Optional TURN fallback.
  • Zaps & Shops: NIP-57 zap tipping on posts (verifiable receipts), and NIP-15 storefronts — durable seller listings with a conversational "chat with seller" checkout.
  • Escrow without a custodian: HODL-invoice conditional payments on confirmed deals — the buyer holds the preimage, the seller can only settle on release, unreleased funds auto-refund. The Lightning protocol enforces the lock; nobody ever holds the money in between.
  • Mini-apps (experimental): third-party web apps run inside Freeport with your portable identity (NIP-07) and wallet (WebLN + Spark/stablecoin) — sandboxed behind a permission firewall where every sensitive action needs your approval (architecture & threat model). A dedicated Apps tab hosts the launcher — a home-screen-style grid (add any app by URL or QR, drag to rearrange), with the wallet as its first tile; your apps and their grants travel with the account backup. One <script> tag makes a page work on web too. Mini-app examples:
  • On-device AI (experimental): describe what you need in any language and it drafts your post; incoming chat messages auto-translate. Runs entirely on your device (Apple Intelligence / Android ML Kit + Gemini Nano / Chrome built-in AI) — your words never leave it.
  • Notifications & Telegram: content-blind push, plus a Telegram bridge — market feeds in groups, one-tap broadcast of organic posts, personal pings.
  • 56 languages, full RTL, in-chat translation.

Non-goals (v1)

Custody (payments stay self-custodial wallet-to-wallet; even escrow is trust-minimized HODL invoices, never a held balance), dispute resolution, vetting, anti-sybil — all deliberately deferred.

Donate

BTC: bc1ps44wjx3wpu4s0xj746gz2lu45nspsm9059d3ym8xz0nrhu4psyasdgwwhx

License & forking

MIT (LICENSE). Freeport exists to be forked: any community can stand up its own market — own name, city, vertical, relays and services — by changing configuration, not architecture. FORKING.md lists every deployment-specific value; CONTRIBUTING.md covers dev setup and style.

Tools it offers (6)

What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • nostr_search_intents
  • nostr_search_reputation
  • nostr_get_event
  • nostr_profile
  • nostr_query_raw
  • freeport_create_post

Signals

GitHub stars
16
Forks
10
Last commit
Sep 2026
Weekly downloads
53
Advanced
Delivery
freeport-nostr MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-ptrinh-freeport-nostr
Source
github.com/ptrinh/freeport
Hosted endpoint
https://nostr-mcp.trinh.uk/mcp