[{"data":1,"prerenderedAt":448},["ShallowReactive",2],{"project-43520953":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":46,"post_text":48,"what":49,"said":92,"maker_in_thread":209,"shape":219,"grid":223,"attempts":409,"same_week":410,"maker_shows":40,"maker_hidden":440,"reader_version":441,"card":442},"43520953","pg-mcp","Cloud-Ready Postgres MCP Server","title","Show HN: Cloud-Ready Postgres MCP Server","https:\u002F\u002Fgithub.com\u002Fstuzero\u002Fpg-mcp","github.com","spennant",1743304476,2025,167,79,419,3837,11,"notable","data","database mcp server","api",[24,25,26,27],"postgresql","model context protocol","mcp server","llm database access","mixed",-0.254,{"positive":31,"neutral":32,"mixed":33,"critical":32},5,14,0,33,{"idea":36,"execution":39,"performance":42,"docs":43,"privacy":44,"design":45},{"positive":37,"critical":38},4,6,{"positive":40,"critical":41},1,2,{"positive":33,"critical":40},{"positive":33,"critical":40},{"positive":33,"critical":41},{"positive":33,"critical":41},[40,33,33,40,33,33,47,47,47,33,47,40,47,47,40,33,33,33,33,33,40,33,31,40,47,40,40,33,31,47,47,47,47,40,47,33,31,33,40,33],3,"Hey HN,\n\nI built pg-mcp, a Model Context Protocol (MCP) server for PostgreSQL that provides structured schema inspection and query execution for LLMs and agents. It's multi-tenant and runs over HTTP\u002FSSE (not stdio)\n\nFeatures  - Supports multiple database connections from multiple agents\n\n- Schema Introspection: Returns table structures, types, indexes and constraints; enriched with descriptions from pg_catalog. (for well documented databases)\n\n- Read-Only Queries: Controlled execution of queries via MCP.\n\n- EXPLAIN Tool: Helps smart agents optimize queries before execution.\n\n- Extension Plugin",{"problem":50,"audience":56,"pricing":67,"motivation":68,"time_to_build":67,"stack":72,"openness":89,"stage":90,"team_size":91},{"value":51,"source":52,"evidence":53},"Gives LLMs and agents structured schema inspection and query execution against PostgreSQL","maker",[54],{"id":55},"post",{"value":57,"source":58,"evidence":59},"Developers and organizations letting AI agents query Postgres databases","inferred",[60,64],{"id":61,"by":62,"text":63},"43521610","1zael","This is wild. Our company has like 10 data scientists writing SQL queries on our DB for business questions. I can deploy pg-mcp for my organization so everyone can use Claude to…",{"id":65,"by":11,"text":66},"43524509","I built this to fill a specific need. It's not really made to talk to Claude Desktop (although it can). It's built to take multiple connections from agents who bring their own…",null,{"value":69,"source":52,"evidence":70},"Built to fill a need for multi-tenant agent access to Postgres with its own LLM",[71],{"id":65,"by":11,"text":66},[73,77,81,85],{"value":74,"source":52,"evidence":75},"Python",[76],{"id":65,"by":11,"text":66},{"value":78,"source":52,"evidence":79},"Model Context Protocol Python package",[80],{"id":65,"by":11,"text":66},{"value":82,"source":52,"evidence":83},"Docker",[84],{"id":55},{"value":86,"source":52,"evidence":87},"PostgreSQL",[88],{"id":55},"open_source","launched","unknown",{"praise":93,"objections":102,"requests":142,"questions":168,"alternatives":183},[94],{"value":95,"source":96,"evidence":97},"Useful for connecting agents to databases, with extension plugin system praised","commenter",[98],{"id":99,"by":100,"text":101},"43522312","tudorg","This is great, I like in particular that there are extensions plugins. I’ll be looking at integrating this in the Xata Agent (https:\u002F\u002Fgithub.com\u002Fxataio\u002Fagent) as custom tooling.",[103,114,125,132],{"value":104,"source":96,"evidence":105},"Exposing port 8000 by default in docker-compose exposes the server to the internet without authentication",[106,110],{"id":107,"by":108,"text":109},"43522259","fulafel","From docker-compose ``` ports: - \"8000:8000\" ``` This will cause Docker to expose this to the internet and even helpfully configure an allow rule to the host firewall, at least…",{"id":111,"by":112,"text":113},"43523022","rubslopes","Good catch. OP, exposing your application without authentication is a serious security risk! Quick anecdote: Last week, I ran a Redis container on a VPS with an exposed port and…",{"value":115,"source":96,"evidence":116},"Text-to-SQL accuracy and reliability concerns for business use",[117,121],{"id":118,"by":119,"text":120},"43522265","moltar","There are LLM SQL benchmarks. [1] And state of the art solution is still only at 77% accuracy. Would you trust that? [1] https:\u002F\u002Fbird-bench.github.io\u002F",{"id":122,"by":123,"text":124},"43522440","clusterfook","Yep gonna be easy Q: show me the top 5 customers by total sales A: System.Data.Odbc.OdbcException (0x80131937): ERROR [57014] ERROR: canceling statement due to statement timeout;…",{"value":126,"source":96,"evidence":127},"Unpaginated query results could overflow LLM context",[128],{"id":129,"by":130,"text":131},"43525406","scottpersinger","Where's the pagination? How does a large query here not blow up my context: https:\u002F\u002Fgithub.com\u002Fstuzero\u002Fpg-mcp\u002Fblob\u002Fmain\u002Fserver\u002Ftools\u002Fquery.py#L8",{"value":133,"source":96,"evidence":134},"Shallow project; MCP servers are trivial to build",[135,139],{"id":136,"by":137,"text":138},"43523157","saberience","Just for everyone here, the code for \"building an MCP server\", is importing the standard MCP package for Typescript, Python, etc, then writing as little as 10 lines of code to…",{"id":140,"by":137,"text":141},"43533234","Saying you \"built an MCP server\" is literally the same as saying you wrote a method though. Like you can write a single 20 line method to connect to a MySQL database, add the MCP…",[143,157,164],{"value":144,"source":96,"evidence":145},"Usage examples and documentation for people new to MCP",[146,150,154],{"id":147,"by":148,"text":149},"43521027","runako","I'm still trying to grok MCP, would be awesome if you could include usage examples in the doc. Good luck!",{"id":151,"by":152,"text":153},"43521288","mparis","+1 My first foray into using MCP was via Claude Desktop. Would be great if you packaged your tool such that one could add it with a few lines in their ‘~\u002FLibrary\u002FApplication…",{"id":155,"by":148,"text":156},"43524014","Then please write up and share here some example usage documentation for someone who has never used MCP. (That was my suggestion upthread.) As a side note, do people here not…",{"value":158,"source":96,"evidence":159},"Read-only temporary schema sessions for safe exploration",[160],{"id":161,"by":162,"text":163},"43522927","oulipo","Nice! What I'd be looking for is a MCP server where I can run in \"biz\u002FR&D exploration-mode\", eg: - assume I'm working on a replica (shared about all R&D engineers) - they can…",{"value":165,"source":96,"evidence":166},"Pagination for large query results",[167],{"id":129,"by":130,"text":131},[169,176],{"value":170,"source":96,"evidence":171},"Why HTTP\u002FSSE instead of stdio for a locally running server",[172],{"id":173,"by":174,"text":175},"43524982","ahamilton454","I don’t understand the advantage of having the transport protocol be HTTP\u002FSSE rather than studio especially in this case when it’s literally running locally.",{"value":177,"source":96,"evidence":178},"What multi-tenancy means here",[179],{"id":180,"by":181,"text":182},"43524865","koakuma-chan","What is multi-tenancy?",[184,195,202],{"value":185,"source":96,"evidence":186},"Existing BI tools such as Tableau and PowerBI",[187,191],{"id":188,"by":189,"text":190},"43521973","otabdeveloper4","Probably nothing. \"Expose the database to the pointy-haired boss directly, as a service\" is an idea as old a computing itself. Even SQL itself was originally an iteration of that…",{"id":192,"by":193,"text":194},"43522569","slt2021","didn't Tableau (and some other BI solutions) have this feature out of the box?",{"value":196,"source":96,"evidence":197},"Existing text-to-SQL companies and integrations",[198],{"id":199,"by":200,"text":201},"43522042","Kiro","There are hundreds of text-to-SQL companies and integrations already. What's different about this that makes you react like that?",{"value":203,"source":96,"evidence":204},"WhatsApp MCP server by lharries",[205],{"id":206,"by":207,"text":208},"43521623","jamestimmins","Same here. Tonight I added Whatsapp to Claude Desktop via Luke Harries' https:\u002F\u002Fgithub.com\u002Flharries\u002Fwhatsapp-mcp. Very solid intro into how it all works.",{"comments":210,"answered":37,"key":211},9,[212,213,216],{"id":65,"text":66},{"id":214,"text":215},"43525100","Just a fancy way of saying that multiple agents (with their own LLMs) can concurrently connect, also that pg-mcp can simultaneously connect to multiple Postgres servers as well.",{"id":217,"text":218},"43523492","It won’t be that easy. First off, most databases in the wild are not well documented. LLMs benefit from context, and if your tables\u002Fcolumns have non-intuitive or non-descriptive…",{"commenters":220,"max_depth":32,"maker_replies":210,"first_comment_mins":221,"lifespan_hours":222},42,12,82,[224,226,229,232,234,237,239,240,242,244,248,250,252,253,256,260,262,263,267,271,274,275,278,280,282,285,288,290,292,295,297,299,301,303,305,307,309,311,313,315,317,319,322,325,327,330,331,334,336,340,343,345,346,349,351,354,355,357,359,360,363,366,368,371,373,375,378,381,383,384,385,388,390,392,395,398,400,403,406],[136,33,40,225,137,33],"project\u002Fcritical\u002Fidea",[227,33,33,228,148,33],"43523615","commenter\u002Fneutral\u002Fnone",[230,33,33,228,231,33],"43524143","brulard",[233,33,33,228,148,33],"43524336",[235,33,33,228,236,33],"43526128","BoorishBears",[238,33,33,228,148,33],"43526646",[140,33,40,225,137,33],[241,33,33,228,236,33],"43536488",[243,33,33,228,231,33],"43529273",[245,33,33,246,247,33],"43525247","other\u002Fneutral\u002Fnone","asdev",[65,33,33,249,11,40],"maker\u002Fneutral\u002Fidea",[180,33,47,251,181,33],"project\u002Fneutral\u002Fidea",[214,33,33,249,11,40],[254,33,47,251,255,33],"43525102","yroc92",[257,33,47,258,259,33],"43524890","project\u002Fneutral\u002Fexecution","esafak",[61,40,31,261,62,33],"project\u002Fpositive\u002Fidea",[188,40,40,225,189,33],[264,40,33,265,266,33],"43522109","commenter\u002Fneutral\u002Fidea","jaccola",[268,40,33,269,270,33],"43523763","other\u002Fneutral\u002Fidea","pclmulqdq",[272,40,33,228,273,33],"43524064","conradfr",[199,40,47,251,200,33],[276,40,40,225,277,33],"43522226","romanovcode",[279,40,40,225,193,33],"43522593",[281,40,33,228,200,33],"43522633",[283,40,47,251,284,33],"43522213","a-dub",[286,40,33,269,287,33],"43523760","sshine",[289,40,47,251,284,33],"43528015",[118,40,40,291,119,33],"project\u002Fcritical\u002Fperformance",[293,40,33,228,294,33],"43523385","flappyeagle",[296,40,33,228,270,33],"43523742",[298,40,33,228,294,33],"43524071",[300,40,33,228,270,33],"43524425",[302,40,33,228,294,33],"43524757",[304,40,33,228,270,33],"43524815",[306,40,33,228,294,33],"43527397",[308,40,33,228,270,33],"43527528",[310,40,33,228,294,33],"43528871",[312,40,33,228,270,33],"43529224",[314,40,33,228,294,33],"43548597",[316,40,33,228,270,33],"43556177",[122,40,40,318,123,33],"project\u002Fcritical\u002Fexecution",[320,40,33,228,321,33],"43522679","fullstackchris",[323,40,33,228,324,33],"43524126","curious_cat_163",[326,40,33,228,123,33],"43533431",[328,40,31,329,231,33],"43529305","project\u002Fpositive\u002Fexecution",[192,40,47,251,193,33],[332,40,40,225,333,33],"43523063","risyachka",[217,40,33,335,11,40],"maker\u002Fneutral\u002Fdocs",[337,40,47,338,339,33],"43523789","project\u002Fneutral\u002Fdocs","nickdichev",[341,40,47,338,342,33],"43525160","dinfinity",[107,41,40,344,108,33],"project\u002Fcritical\u002Fprivacy",[111,41,40,344,112,33],[347,41,33,228,348,33],"43523410","_ncyj",[350,41,33,228,112,33],"43536396",[352,41,33,353,11,40],"43523612","maker\u002Fneutral\u002Fprivacy",[99,47,31,261,100,33],[356,47,33,249,11,40],"43524797",[358,47,31,261,100,33],"43532468",[129,37,40,318,130,33],[361,37,33,362,11,40],"43528935","maker\u002Fneutral\u002Fperformance",[364,31,47,251,365,33],"43524072","jillesvangurp",[367,31,33,225,11,40],"43524687",[369,31,47,251,370,33],"43526106","doug_durham",[372,31,33,246,365,33],"43526513",[161,38,47,374,162,33],"project\u002Fneutral\u002Fprivacy",[173,376,40,377,174,33],7,"project\u002Fcritical\u002Fdesign",[379,376,33,380,11,40],"43525068","maker\u002Fneutral\u002Fdesign",[147,382,47,335,148,33],8,[151,382,47,335,152,33],[206,382,33,246,207,33],[386,382,33,246,387,33],"43522118","teaearlgraycold",[389,382,31,261,277,33],"43522237",[391,382,33,246,137,33],"43523176",[393,382,33,394,148,33],"43523642","commenter\u002Fneutral\u002Fdocs",[396,382,33,228,397,33],"43523976","bavell",[155,382,40,399,148,33],"maker\u002Fcritical\u002Fdocs",[401,210,40,377,402,33],"43521840","revskill",[404,210,33,228,405,33],"43521938","Jaxkr",[407,210,33,408,11,40],"43523543","project\u002Fneutral\u002Fdesign",[],[411,416,421,426,431,435],{"id":412,"name":413,"points":414,"category":415},"43543241","Nue",756,"dev_tools",{"id":417,"name":418,"points":419,"category":420},"43543235","FluentSubs",472,"languages",{"id":422,"name":423,"points":424,"category":425},"43514383","Pomodoro",315,"hardware",{"id":427,"name":428,"points":429,"category":430},"43532967","WhatsApp MCP",229,"ai",{"id":432,"name":433,"points":434,"category":430},"43549072","OmniAI OCR benchmark",211,{"id":436,"name":437,"points":438,"category":439},"43551767","Igatha",163,"infrastructure",false,"v2",{"id":443,"name":5,"line":6,"ai":440,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":444,"top":18,"kw":445,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":446,"url":9,"mix":447,"praise":95,"objection":104,"sub":21},43520953,-0.25,[24,25,26,27],"1001003330313310000010513110533331305010",[31,32,33,32],1794036671965]