|
| 1 | +--- |
| 2 | +title: "Supercharging Data Portals with the PortalJS MCP Server" |
| 3 | +description: "Explore how the PortalJS MCP server unlocks AI-native discovery, metadata exploration, and data previews for modern portals — now open sourced and easy to integrate." |
| 4 | +created: 2025-11-25 |
| 5 | +authors: ['anuveyatsu'] |
| 6 | +tags: |
| 7 | + - MCP |
| 8 | + - PortalJS Cloud |
| 9 | + - AI |
| 10 | + - data portals |
| 11 | +image: "/static/img/blog/supercharging-data-portals.png" |
| 12 | +filetype: 'blog' |
| 13 | +--- |
| 14 | + |
| 15 | +Back in September this year, we published [our first look at using MCP (Model Context Protocol) servers](/blog/mcp-server-ai-assistants-to-improve-data-portals) to give AI assistants structured access to data portals. |
| 16 | + |
| 17 | +Now the implementation is live and fully open source. |
| 18 | + |
| 19 | +PortalJS MCP runs in production on Cloudflare’s MCP SDK, which gives us a fast, global, edge-native runtime. It comes with low latency, high reliability, and no “AI integration infra tax” for you to pay. |
| 20 | + |
| 21 | +The PortalJS MCP server is publicly available at: |
| 22 | + |
| 23 | +``` |
| 24 | +mcp.portaljs.com |
| 25 | +``` |
| 26 | + |
| 27 | +If your data portal runs on PortalJS Cloud, connecting it is dead simple. Your MCP endpoint is: |
| 28 | + |
| 29 | +``` |
| 30 | +mcp.portaljs.com/@org-name/sse |
| 31 | +``` |
| 32 | + |
| 33 | +Paste that into ChatGPT, Claude, or any MCP-capable client, and your AI assistant immediately gains structured access to your datasets, metadata, and previews. |
| 34 | + |
| 35 | +And because we think this should be a standard building block for modern data portals, we’ve open sourced the whole implementation here: |
| 36 | + |
| 37 | +https://github.com/datopian/portaljs-mcp-server |
| 38 | + |
| 39 | +Use it, fork it, deploy your own version, or just read through it to understand how MCP can sit cleanly on top of a data portal. |
| 40 | + |
| 41 | +## Why MCP Is a Game-Changer for Data Portals |
| 42 | + |
| 43 | +AI chats are powerful, but without structured access they’re basically guessing. MCP fixes that by giving models secure, predictable tools to interact with real systems — including your data portal. |
| 44 | + |
| 45 | +In practice, this unlocks: |
| 46 | + |
| 47 | +* **Reliable dataset discovery** backed by actual portal data search |
| 48 | +* **Accurate metadata exploration** without hallucination risk |
| 49 | +* **On-demand previews** (rows, schema, field types) |
| 50 | +* **One clean integration** that works across multiple AI clients |
| 51 | + |
| 52 | +This effectively turns your AI assistant into a precision data navigator — not just a polite autocomplete engine. |
| 53 | + |
| 54 | +## What’s Available in the MCP Today |
| 55 | + |
| 56 | +The initial toolset focuses on high-value workflows for discovery and exploration: |
| 57 | + |
| 58 | +### Search tool enables data discovery |
| 59 | + |
| 60 | +* List datasets |
| 61 | +* Keyword search |
| 62 | +* Metadata filtering |
| 63 | +* Dataset summaries |
| 64 | + |
| 65 | +### Get tool for metadata exploration |
| 66 | + |
| 67 | +* Resource lists |
| 68 | +* Field definitions |
| 69 | +* Schema inspection |
| 70 | +* Full metadata extraction |
| 71 | + |
| 72 | +### Table preview |
| 73 | + |
| 74 | +* First N rows |
| 75 | +* Column summaries |
| 76 | +* Type inference |
| 77 | +* Lightweight profiling |
| 78 | + |
| 79 | +These tools are designed to be **fast, bounded, and safe**. The model doesn’t pull full datasets — it gets structured previews that are ideal for reasoning and analysis. |
| 80 | + |
| 81 | +## Works with ChatGPT, Claude, VS Code, and More |
| 82 | + |
| 83 | +Our MCP server is model-agnostic by default: |
| 84 | + |
| 85 | +* Claude — native MCP support |
| 86 | +* ChatGPT Desktop — native MCP support |
| 87 | +* VS Code MCP clients — plug-and-play |
| 88 | +* Future MCP-enabled tools — automatically compatible |
| 89 | + |
| 90 | +Wherever your team uses AI, your portal can now show up *as a first-class, tool-based data source*. |
| 91 | + |
| 92 | +## Why Cloudflare’s MCP SDK? |
| 93 | + |
| 94 | +We chose Cloudflare’s SDK because MCP should feel like infrastructure you **never have to think about**. |
| 95 | + |
| 96 | +Using Cloudflare gives us: |
| 97 | + |
| 98 | +* **Edge deployment by default** → fast globally, no region bottlenecks |
| 99 | +* **Battle-tested SSE support** → stable streaming tool calls |
| 100 | +* **Simple scaling model** → no infra babysitting as usage grows |
| 101 | + |
| 102 | +This matters because AI tooling isn’t forgiving. If your MCP endpoint is slow or flaky, your user’s trust evaporates instantly. Cloudflare’s runtime lets us keep it sharp. |
| 103 | + |
| 104 | +## What’s Coming Next |
| 105 | + |
| 106 | +This is only the first layer. We’re already expanding the MCP toolbox, including: |
| 107 | + |
| 108 | +* Write-back tools (tags, notes, curation workflows) |
| 109 | +* Automated metadata enrichment |
| 110 | +* Data quality checks |
| 111 | +* Permission-aware exploration |
| 112 | +* Semantic search |
| 113 | +* Lineage and observability integration |
| 114 | + |
| 115 | +The direction is clear: your data portal becomes an intelligent interface, not a static catalog. |
| 116 | + |
| 117 | +## Try It Today |
| 118 | + |
| 119 | +If your portal runs on PortalJS Cloud, your MCP endpoint is: |
| 120 | + |
| 121 | +``` |
| 122 | +https://mcp.portaljs.com/@org-name/sse |
| 123 | +``` |
| 124 | + |
| 125 | +Plug it into your AI assistant and start exploring your data conversationally — with real structure, real metadata, and real previews. |
| 126 | + |
| 127 | +Want help rolling this out to your team or customers? Reach out. We’re building this to make data portals genuinely useful in an AI-first world. |
0 commit comments