{"name":"ai.midplane/midplane","slug":"midplane","title":"Midplane","description":"A gateway between AI agents and Postgres: table access, masking at the source, approvals and audit.","url":"https://mcp.market/server/midplane","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"data","tags":["data"],"presence":{"score":41,"stars":5,"forks":1,"downloads_week":1202,"last_push_at":"2026-10-30T07:30:23.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/midplaneai/midplane","website":"https://midplane.ai/docs","version":"0.26.1","remotes":[],"packages":[{"registryType":"npm","identifier":"midplane","version":"0.26.1","runtimeHint":"npx","transport":{"type":"stdio"},"packageArguments":[{"type":"positional","value":"local","valueHint":"command"},{"description":"Absolute path to midplane.yaml in local mode: each database's DSN and policy, and the key tokens are verified with (https://midplane.ai/docs/gateway/local-mode). Add the environment variables it names, such as a DSN or the mask salt, to this server's environment.","isRequired":true,"format":"filepath","type":"named","name":"--config"},{"type":"positional","value":"--stdio","valueHint":"transport"}],"environmentVariables":[{"description":"A token from `midplane token`, verified at start and on every call. It stays in this entry, so give it a --ttl (seconds) as long as the entry should work: the default is an hour.","isRequired":true,"isSecret":true,"name":"MIDPLANE_TOKEN"}]}],"tools":[{"name":"check_approval","description":"Check where a held write stands: pending, approved (re-run exactly the same statement with the same intent through the write tool to run it), denied, expired, or already used. Takes the approval id a held write returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"describe_table","description":"Show a table's columns: types, primary key, NOT NULL, foreign keys to tables this agent may read, comments, and which columns come back masked.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_tables","description":"List the tables and views this agent may read, with its access to each.","write_action":false,"price_micros":0,"input_schema":null},{"name":"query","description":"Run one read-only SQL statement (a SELECT, VALUES or read-only WITH query) against a Postgres database, through Midplane's policy. Returns rows; masked columns come back masked, and a denied statement explains why. …","write_action":true,"price_micros":0,"input_schema":null},{"name":"write","description":"Run one SQL write (an INSERT, UPDATE, DELETE or schema change) against a Postgres database, through Midplane's policy: it runs now, waits for a person's approval, or is refused, and the answer says which and why. Once a held write is approved, re-run exactly the same statement with the same intent here. Reads go to the query tool, which needs no confirmation.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":80,"grade":"B","scanned_at":"2026-10-31T17:28:22.829Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-31T17:28:22.783Z","components":{"code":{"score":25,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":6,"max":10,"notes":["namespace and repository owner differ","website matches verified namespace"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"midplane","version":"0.26.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":13,"publishedAt":"2026-10-29T14:20:39.998Z","repositoryUrl":"git+https://github.com/midplaneai/midplane.git","weeklyDownloads":1202}],"repo":{"found":true,"owner":"midplaneai","repo":"midplane","archived":false,"pushedAt":"2026-10-30T07:30:23Z","stars":5,"forks":1,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/280304100?v=4","ownerCreatedAt":"2026-04-29T08:34:07Z","license":"MIT"},"icon":{"url":"https://www.midplane.ai/brand/apple-touch-icon.png","source":"registry","width":180,"height":180},"presence":{"stars":5,"forks":1,"downloadsWeek":1202,"license":"MIT","lastPushAt":"2026-10-30T07:30:23.000Z","score":41}}}},"grade_history":[],"reviews":[]}