Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Maplith Bridge

by Maplithversion 1.2.0-rc.1i★ –iRuns on your computer
Registry namecom.maplith/bridge

Install

Overview

Description from the maker (original English)

Share a folder of data files read-only over MCP, and fill it from PostgreSQL under a read-only role.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: Streamable HTTP
  • Category: Databases & datasets

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "bridge": {
      "command": "npx",
      "args": [
        "-y",
        "maplith",
        "bridge",
        "serve",
        "--dir",
        "your-value",
        "--token-file",
        "maplith-bridge.token",
        "--port",
        "8787"
      ]
    }
  }
}

Run this in your terminal

claude mcp add bridge -- npx -y maplith bridge serve --dir your-value --token-file maplith-bridge.token --port 8787

This one needs values on its command line, so copy the settings and fill them in.

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "bridge": {
      "command": "npx",
      "args": [
        "-y",
        "maplith",
        "bridge",
        "serve",
        "--dir",
        "your-value",
        "--token-file",
        "maplith-bridge.token",
        "--port",
        "8787"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one needs values on its command line, so copy the settings and fill them in.

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "bridge": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "maplith",
        "bridge",
        "serve",
        "--dir",
        "your-value",
        "--token-file",
        "maplith-bridge.token",
        "--port",
        "8787"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain maplith.com (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Databases & datasetsi

  • More stars than 0% of the other 952 servers in this category
  • Published to the registry more recently than 76% of the other 952 servers in this category
  • Basic checks equal to or better than 100% of the other 952 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Maplith Bridge safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.2.0-rc.1) reached the registry 15 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Supabase, MongoDB MCP Server, Elasticsearch MCP Server

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Supabase

by supabase

Supabase’s official server lets AI create tables, query data and review project settings in your Supabase database.

Computer or cloud★ 2,993Apache-2.0Updated today
Install

MongoDB MCP Server

by mongodb-js

MongoDB Model Context Protocol Server

Runs on your computer★ 1,157Apache-2.0Updated 2 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Maplith for your agents

Maplith maps how a company's systems fit together, so any AI agent can find the data it needs, by which key, and how far to trust each step. This repository holds the open-source parts that run on your side, next to your agent and your data. One product, three parts:

PartWhat it doesWhere
Plugin for Claude Code and CodexMaplith in your coding agent with one install: the hosted map over MCP (you sign in; nothing is pasted), Maplith Bridge for a local folder, and a skill that says when and how to use them.plugins/maplith/
Maplith BridgeConnect your database to your AI agent, read-only, without giving anyone your password.this page, from Quick start
Maplith WakeStart your own Claude agent the moment there is work for it, from a small relay in your own account.wake-relay/

All of it is one npm package, maplith, with one command: maplith setup puts Maplith in your agent, and maplith bridge is Maplith Bridge.

Set Maplith up in your agent

No account? You create one in the browser window that opens when you sign in, and come straight back. Your agent then builds your first map with you.

One command, with Node.js 24 or newer. It runs your agent's own commands and writes no key anywhere:

npx --yes maplith@1.2.0-rc.1 setup claude

npx --yes maplith@1.2.0-rc.1 setup codex

Or by hand. Claude Code:

/plugin marketplace add Maplith/agents

/plugin install maplith@maplith

then run /mcp, choose maplith and Authenticate. OpenAI Codex:

codex plugin marketplace add Maplith/agents

codex plugin add maplith@maplith codex mcp login maplith

Codex does not pass your environment to a plugin's servers, so to share a folder with Codex through the Bridge, name it once: npx --yes maplith@1.2.0-rc.1 setup codex --dir .

Everything here is Apache-2.0.

Maplith Bridge

Connect your database to your AI agent, read-only, without giving anyone your password.

The Bridge runs in your own network. It shares one folder of data files over MCP (the Model Context Protocol), behind a token you create, and it can fill that folder from PostgreSQL under a database role that can only read.

  • Read-only, end to end. The server has no method that writes and accepts no file. The extractor refuses to run under a role that can do more than read.
  • Your password stays with you. The database password never leaves the machine the extractor runs on, and the server that faces the network never holds it.
  • Small enough to read. Six files of TypeScript: four for the Bridge, and the maplith command and its setup. The server runs on Node.js alone; the extractor has one dependency, the PostgreSQL client, pinned.

Any MCP client can use it: Claude Code, Codex, Claude Desktop, your own agent. It works best with Maplith, which reads the folder to map how your systems fit together.

Quick start

You need Node.js 24 or newer.

npx --yes maplith@1.2.0-rc.1 bridge rotate-token

npx --yes maplith@1.2.0-rc.1 bridge serve --dir ./exports

The first command writes a random token to maplith-bridge.token, readable by you only. The second serves the files in ./exports at http://127.0.0.1:8787/mcp, on this machine only. Point any MCP client at that address with the header Authorization: Bearer . With Claude Code:

claude mcp add --transport http bridge http://127.0.0.1:8787/mcp \

--header "Authorization: Bearer $(cat maplith-bridge.token)"

To fill the folder from PostgreSQL, under a read-only role:

PGHOST=db.example.com PGDATABASE=shop PGUSER=bridge_reader \

npx --yes maplith@1.2.0-rc.1 bridge extract postgres --out ./exports --check

--check verifies the role and writes nothing. Run it again without --check to write one CSV file per table.

Beside the CSV files of each folder, the extractor writes maplith-schema.json, which the server shares like any other file: for each table, its file, its columns with their PostgreSQL attribute numbers and types, its keys and its estimated row count. It holds names and numbers, never a value, and names the database only by a digest of its identity (below). A reader can tell from it that a renamed column is the same column (its attribute number stays) and that a column dropped and added again is a new one (it gets a new number).

A restore keeps the relation ids and attribute numbers it had, and the next ADD COLUMN can reuse a number that a later state had given another column. So the digest is made of the server's system identifier and timeline, when its statistics were last reset, the database's id and name, and an epoch the extractor keeps in the folder, and it changes when the extractor sees that the database's history did not go on from its last run: another server or database, a new timeline (a point-in-time recovery or a promotion), a reset of the server's statistics (every start that has to recover resets them: after a crash, or from a restored snapshot or base backup), a table or column whose catalog entry was written again before that run (an earlier copy restored, then changed), or no record of that run in the folder (a first run, a new install, another folder: its record starts with an epoch of its own, drawn at random, so it never states the digest another folder stated). One restore goes unseen: a copy of the data directory taken while the server was stopped and started again as it was, changed only once its transaction counter had passed where the original's stood at the extractor's last run (or restored together with the extractor's folder). The same numbers can then name other columns under the same digest.

Where the role may not read the system identifier, the timeline or when the statistics were last reset, the file names no database ("database": null), and its numbers describe that run only: a restore into a fresh server can give the same relation ids again, and it renumbers the attribute numbers.

Run any command with --help for every option.

Set it up for real

  • RUNBOOK.md: a server install, step by step, for the person who runs it: two system users, the read-only role, TLS, a systemd service.
  • INSTALL-WITH-YOUR-AGENT.md: one prompt that has your own AI agent do the same install, stopping for you at every decision, password and sudo.

How it keeps your data safe

RiskWhat the Bridge does
Someone on the internet calls itEvery request needs the token: 256 random bits, compared in constant time. Wrong tokens are counted and slowed down. It listens on this machine only unless you give it TLS or name the reverse proxy in front of it, and it refuses plain HTTP on any other address.
The token leaksIt opens one folder, read-only, and nothing else. rotate-token replaces it in one command, without a restart. --allow limits who may call.
Something harmful is sent inNothing is written, uploaded or run. A request is at most 64 KB of JSON and is never evaluated.
A request reaches outside the folderNot through .., a symbolic link or a hidden file. Only CSV, TSV, JSON, JSONL, Markdown and text files are served.
Your database passwordIt stays on the extractor's machine, is never printed or written, and is sent only to the database: over verified TLS by default when the database is on another machine.
A tampered packageReleases are built in public CI with provenance, and carry a checksum and a build attestation. The published package runs no install script.
A file tries to instruct an agentThe server tells every client that file contents are data, not instructions.

THREAT-MODEL.md names the tests behind every row.

Verify a release

Every release on GitHub carries the tarball, its SHA-256 checksum and a build attestation. The same tarball is published to npm with provenance, so npm's digest of it must match the file from GitHub: the two sha512- lines below are equal.

sha256sum -c maplith-1.2.0-rc.1.tgz.sha256

echo "sha512-$(openssl dgst -sha512 -binary maplith-1.2.0-rc.1.tgz | openssl base64 -A)" npm view maplith@1.2.0-rc.1 dist.integrity gh attestation verify maplith-1.2.0-rc.1.tgz --repo Maplith/agents \ --bundle maplith-1.2.0-rc.1.tgz.sigstore.json

After installing from npm, npm audit signatures checks the registry signature and the provenance.

Use it from any MCP client

The Bridge speaks MCP 2025-06-18 (and 2025-03-26, 2024-11-05) over Streamable HTTP: JSON-RPC 2.0 requests by POST to /mcp. It offers:

  • resources: resources/list (100 per page, with a cursor) and resources/read;
  • two read-only tools on the same code path: list_files and read_file.

Each top-level folder is one system: exports://shop/orders.csv is the file orders.csv of the system shop. A file is listed only when it fits in one reply of at most 8 MB. GET /healthz answers 204 for a health check.

File contents come from your systems. Tell your agent to treat them as data, never as instructions; the Bridge says the same in its instructions.

Use it from an agent on this machine

An agent that starts its MCP servers as local commands, such as Claude Code, can start the Bridge itself:

npx -y maplith@1.2.0-rc.1 bridge stdio --dir ./exports

stdio serves the folder to that one agent over its stdin and stdout: the same server as serve, on 127.0.0.1 only, behind a token that lives only in its process. There is no token file and nothing to type. The folder comes from --dir or EXPORT_DIR; without one it serves an empty folder and says how to name one. The Maplith plugin starts it this way: in Claude Code with the folder from MAPLITH_BRIDGE_DIR, in Codex with the folder setup codex --dir names. The older command maplith-bridge still works, as maplith bridge. To share a folder with Maplith or with an agent on another machine, use serve.

For MCP directories

A directory of MCP servers, such as Glama, builds this repository in a sandbox and inspects the server over stdio, with no folder and no token to give it. glama-stdio.ts is the entry for that, and only for that:

  • it creates an empty folder of its own, so there is nothing to share;
  • it draws a random token that lives only in its memory: never in a file, an argument, the environment or a log;
  • it starts the Bridge's own server on 127.0.0.1, on a free port, serving that folder behind that token;
  • it relays MCP between stdin and stdout and that server, one JSON-RPC message per line, and logs to stderr only;
  • when stdin ends, or on SIGTERM, it stops the server and removes the folder.

A directory sees the Bridge as it is: its initialize reply and instructions, the tools list_files and read_file, and an empty list of files. The entry takes no argument and cannot share a folder: serve does that. It is in this repository, not in the npm package.

With Node.js 24 or newer, from a checkout:

npm ci --ignore-scripts

node glama-stdio.ts

A directory that speaks HTTP to its sandbox puts mcp-proxy in front of it: mcp-proxy -- node glama-stdio.ts. On Glama, the server's settings are:

SettingValue

Only the beginning is shown; read the rest in the repo

Ask PopNx