Website profiles · Technology insights · Alternatives

getwren.ai Paid content

Categories: Artificial Intelligence

One governed data agent for people and AI agents. Use Wren's GenBI agent, or call it from Claude, ChatGPT or your own agents over MCP. Open source.

Visit website

Updated: 2026-10-02 08:23 Language: English (default) Access: Normal

Profile views 2 Outbound visits 0
The Data Agent for Your Team and Your AI Agents | Wren AI Full homepage screenshot
Editorial Review

Website Review

What is Wren AI?

Wren AI is a governed data agent that answers analytics questions for both people and AI agents. Your team can ask questions in plain language through its GenBI agent, while tools like Claude, ChatGPT or your own agents can call Wren as a sub-agent over MCP. The goal is one consistent answer from a context layer you control, across 20+ data sources, running on your servers or Wren's cloud.

What it does

  • Natural-language analytics: Ask questions such as "What was EMEA net revenue in Q3?" and get a live dashboard or artifact back.
  • Governed definitions: Answers run through versioned definitions and policies you own, so people and agents share the same meaning for metrics like net revenue.
  • Agentic reasoning: It acts as a sub-agent that can reason in an isolated sandbox, with replayable traces and benchmarked SQL rather than a single tool call.
  • Unified data policy: Row- and column-level security is applied at query time across the UI, API, Slack/Teams and MCP, with role-based access and an audit log.
  • Open source engine: The engine is open source, which is presented as its main differentiator.

Who it is for

Data teams that want to serve business users and AI agents from the same governed semantic layer. It fits organizations already using warehouses like Snowflake, BigQuery, Databricks, Redshift or PostgreSQL, and those wanting analytics embedded in chat tools or their own product.

Practical trade-off

A governed context layer reduces conflicting numbers and repeated metric definitions, but it only works if your team maintains those definitions and policies. If your metrics are undocumented or change constantly, the setup work shifts to you.

Next step

If you want to evaluate it, start with one high-value metric such as net revenue, define it once, and test whether the GenBI agent and an MCP-connected agent return the same result. For official details, see Wren AI.

How does Wren AI ensure people and AI agents get the same governed answer?

Wren AI's core promise is that a person typing a question into its GenBI agent and an AI agent calling it over MCP both resolve through the same context layer, so they receive the same result rather than two independently generated answers. The page frames this as "Any agent. Any database. One governed answer," with a fingerprint shown against the example result to indicate both paths landed on the same definition.

The mechanism, as described on the page

  • A context layer you own. Metrics and definitions live there and are versioned in git, so "net revenue" means the same thing whether a human or an agent asks. The page's example shows context.net_revenue being resolved before any SQL runs.
  • One policy enforced at query time. Row- and column-level security is applied when the query executes, not baked into a saved report. The page illustrates this with an EMEA analyst seeing three of five rows with SSNs masked, while a CFO role sees all five — both at 14:02, one via MCP and one via the app.
  • A sub-agent, not just a tool call. Wren reasons inside an isolated sandbox and produces replayable traces, so a result can be re-run and checked rather than taken on faith. The page also mentions benchmarked SQL against ground truth.
  • Reusable skills. A working query can be saved (for example, "q3-margin-by-region") and reused on the next ask, which reduces drift between one-off answers.
  • Query in place. Snowflake, BigQuery, Databricks, Redshift, PostgreSQL, SQL Server, Oracle, MySQL, ClickHouse, Athena, Trino and Starburst are listed as sources, so governance sits above the warehouse rather than requiring a copy.

Where the trade-off sits

Consistency depends on the context layer being complete and current. A metric that exists only in someone's SQL editor, or a definition that changed without a commit, will produce divergence no matter how good the routing is. The git versioning is the control that makes this auditable, but it only helps if your team actually routes definitions through it.

The second trade-off is scope. Wren is an analytics and BI layer — it answers questions about data you have already modeled. It is not a system of record, and it will not invent a metric definition for you.

A practical way to test the claim

Pick one contested metric — net revenue, active customer, gross margin — and ask it three ways: through the GenBI agent, through an MCP-connected assistant, and through a saved skill. If all three return the same number and the same fingerprint, the governance layer is doing its job. If they diverge, the gap is almost always in the semantic definitions rather than the agent.

For teams comparing options, the useful distinction is between tools that generate SQL per question and tools that resolve questions against a shared definition set. Wren sits in the second category. Related approaches in this space include dbt for transformation-side modeling and Cube for a semantic layer serving multiple consumers — worth reviewing if your definitions already live in one of those systems. Wren's own pricing page is at Wren AI if you want to check plan limits before a trial.

How do I connect Wren AI to Claude, ChatGPT, or my own agents over MCP?

Wren AI is designed to be called as a governed data sub-agent over MCP (Model Context Protocol), so connecting it to Claude, ChatGPT, or your own agents means registering Wren as an MCP server/tool rather than building a custom integration from scratch. The page shows the pattern as a wren.ask(...) call that returns a governed result, with the same definitions applied whether a person asks through Wren's GenBI agent or an external agent calls in.

What the connection looks like

  • Claude / ChatGPT / Gemini: the page lists these as MCP clients that plug into Wren, alongside Slack and Teams chat.
  • Your own agents: the same MCP route is described as "your product" embedding — i.e. your agent calls Wren as a sub-agent rather than Wren being a separate UI your users visit.
  • What comes back: a structured result, not just a number. The example returns a JSON payload with a fingerprint (fp) tying the answer to a specific definition version, plus context, policy and SQL checks.

Why the context layer matters for MCP

When an external agent calls Wren, the answer is filtered through the context layer you own: versioned definitions in git, row- and column-level security applied at query time, and an audit log. So an MCP call from Claude under role: analyst-EMEA sees masked SSNs and only EMEA rows, while a CFO app sees all rows — same question, different governed view. That is the practical reason to route agent queries through Wren instead of letting each agent hit the warehouse directly.

Practical next step

Decide which side you are connecting from:

  • If you are a Claude or ChatGPT user, look for the MCP connector setup in Wren's docs and point it at your Wren instance.
  • If you are building an agent, treat Wren as a tool with a single ask-style entry point and let it handle context lookup, SQL, policy and result formatting.
  • If you are evaluating governance, test one question across two roles and confirm the rows and masked columns differ as expected before rolling out.

For the actual installation steps and supported MCP client versions, work from the official documentation at Wren AI rather than a third-party walkthrough, since MCP client support changes quickly.

Which databases and data sources does Wren AI support?

Wren AI connects to more than 20 data sources and queries them in place, rather than requiring you to copy data into its own store. The page lists these database integrations: Snowflake, BigQuery, Databricks, Redshift, PostgreSQL, SQL Server, Oracle, MySQL, ClickHouse, Athena, Trino and Starburst.

It also connects to AI agents and chat surfaces over MCP — ChatGPT, Claude and Gemini — plus Slack and Teams, and it can be embedded in your own product. So "data sources" here covers two layers: the databases holding your data, and the interfaces through which people or agents ask questions of it.

What this means in practice

If your warehouse is Snowflake, BigQuery, Databricks or Redshift, Wren is designed to sit on top of it and leave the data where it lives. The same applies to the operational and open-source engines listed above. The practical benefit is governance: row- and column-level security is applied at query time, so an analyst restricted to EMEA rows and a CFO with broader access can ask the same question and get correctly scoped answers, with an audit log of who saw what.

A useful next step is to check your own stack against the list before evaluating anything else. If your primary source is one of the listed engines, the integration question is largely settled and you can focus on whether the semantic layer and policy controls match how your team defines metrics. If your data sits somewhere not named here, that becomes the first thing to confirm with the vendor.

One caveat worth noting: the page describes support at the connector level, not the depth of each integration. Feature parity across twelve engines is rarely uniform, so ask specifically about the two or three sources you actually run.

How does Wren AI handle row-level and column-level security across the UI, API, Slack, and MCP?

Wren AI applies one policy layer to every access path rather than configuring security separately per interface. The page describes row- and column-level security enforced at query time, with role-based access and a full audit log spanning the UI, API, Slack/Teams, and MCP. In the illustrated example, an analyst scoped to EMEA sees only EMEA rows with the ssn column masked, while a finance role sees all five rows with the same masking applied — and both access events land in the audit log with the channel that was used.

The practical point is that the channel does not change the answer or the visibility rules. A question asked through Wren's GenBI agent in the UI, through Claude or ChatGPT over MCP, or through Slack/Teams resolves against the same context layer, so a user's role determines what rows and columns they can see regardless of where they ask.

H3. What this means in practice

  • One policy, many surfaces. You define region and column rules once; the UI, API, Slack/Teams, and MCP all inherit them.
  • Masking at query time. Sensitive columns such as identifiers are masked in the result set rather than filtered after display, so downstream consumers — including AI agents — do not receive the raw values.
  • Auditability across channels. Because each request is logged with role and channel, you can trace who saw what and through which entry point.

H3. Trade-offs to weigh

Centralizing policy is simpler to govern but makes the policy layer a critical dependency: a misconfigured role or region mapping propagates everywhere at once. Row-level rules that depend on user attributes also require those attributes to be kept current in your identity setup. If your organization needs strict separation between human-facing and agent-facing access, you would need to decide whether the same role definitions should apply to both.

H3. Next step

Before rolling out, pick one sensitive table and test the same question through two channels — for example, the UI and an MCP-connected agent — using two different roles. Confirm the row counts and masked columns match the audit log entries for each. That single test tells you whether your role and region mappings behave consistently across surfaces.

For product specifics and current capabilities, see Wren AI.

Can I build interactive dashboards with Wren AI from a single prompt?

Yes. Wren AI's GenBI Apps are designed to turn a single prompt into an interactive dashboard, and the same governed definitions apply whether you ask through Wren's own GenBI agent or call it from an external agent over MCP. The page's "One prompt. A live dashboard." heading and the GenBI Apps section ("Build an interactive dashboard in one prompt") are the direct claims here.

What that looks like in practice

  • You ask in plain language, e.g. a question about a metric and a breakdown, and Wren returns an artifact such as a bar chart rather than only a text answer.
  • The dashboard is generated against a context layer you own, so numbers should trace back to your definitions (revenue, margin, region) rather than being improvised by the model.
  • The page shows a "skill.save" step, meaning a generated view can be saved and reused on a later ask instead of rebuilt from scratch.

Where the real work sits

The single prompt is the interface, not the setup. To get trustworthy dashboards you still need to connect a source, define metrics and dimensions in the semantic layer, and set row- and column-level policies. The page lists 20+ sources (Snowflake, BigQuery, Databricks, Redshift, PostgreSQL, SQL Server, Oracle, MySQL, ClickHouse, Athena, Trino, Starburst) and shows security being applied at query time, with masked columns and an audit log per role. If your definitions are thin or inconsistent, a one-prompt dashboard will be fast and wrong.

Who benefits most

Situation Fit
Metrics already defined, many recurring questions Strong — prompt-to-dashboard saves repeated manual chart building
Team wants dashboards and AI agents to agree Strong — one context layer serves both
Exploring undefined data, no semantic layer Weak — you get plausible charts without governed meaning
Strict audit and access requirements Workable — policies and audit logging are part of the design

A useful next step

Pick one recurring question your team answers manually each week, define its metric and dimensions first, then try generating that dashboard from a single prompt and check the output against your existing number. If it matches and the access rules hold, expand from there. Wren AI is open source, so you can also review how the engine resolves definitions before rolling it out broadly.

Related questions

More questions →
What Are AI Agents and How Do You Connect Them to Real-World Tools?

An AI agent is a system that uses a language model to decide what to do next — calling tools, fetching data, and chaining steps — rather than just answering a single prompt. To act on the real world, an agent needs external tools, because its training data is frozen and it can't browse, scrape, or write to your apps on its own. The practical way to give it those capabilities is to connect it to ready-to-run tools through APIs or marketplace integrations. Apify, for example, describes itself as "a marketplace of ready-to-run tools for AI" with "73,229 tools for your AI," which is the kind of catalog you'd plug an agent into.

Agent vs. chatbot vs. single prompt

Single prompt Chatbot AI agent
Input One question Ongoing conversation A goal
Decides next step? No No Yes
Uses external tools? No Sometimes Yes, by design
Example "Summarize this text" "Answer my follow-ups" "Find competitor prices and update my sheet"

The distinguishing feature is autonomy over steps. A chatbot waits for you to drive; an agent plans and executes, then reports back.

Why agents need external tools

A model's knowledge stops at its training cutoff and contains no live data about your niche, your competitors, or your own systems. Tools close that gap:

  • Fresh data — current prices, posts, reviews, listings
  • Actions — writing to a database, sending a message, triggering a workflow
  • Structure — turning messy web pages into clean fields an agent can reason over

Without tools, an agent can only talk. With them, it can do.

How agents connect to tools

Three common patterns, from simplest to most integrated:

  1. Direct API calls — the agent (or your code around it) hits an endpoint and gets JSON back. You handle auth and parsing.
  2. Marketplace integrations — you pick a ready-made tool from a catalog and connect it to your agent. Apify's page lists this as "Easily connect with your AI agents," alongside "Ready-to-run or build your own."
  3. MCP / framework adapters — the tool exposes itself in a format your agent framework understands. Apify's Website Content Crawler, for instance, "integrates well with 🦜🔗 LangChain, LlamaIndex, and the wider LLM ecosystem."

The right choice depends on how much glue code you want to own. Marketplaces and adapters trade flexibility for speed.

Concrete example: crawling a site to feed an agent or RAG pipeline

Say you want an agent that answers questions about a documentation site.

  1. Input: the site's URL(s).
  2. Action: run a crawler. Apify's Website Content Crawler will "crawl websites and extract text content to feed AI models, LLM applications, vector databases, or RAG pipelines." It "supports rich formatting using Markdown, cleans the HTML, downloads files."
  3. Expected result: clean Markdown chunks you embed into a vector store.
  4. Then: your agent retrieves relevant chunks at query time and answers with citations.

The crawler does the messy part (HTML cleanup, formatting); the agent does the reasoning. This split is the whole point of connecting tools.

Criteria for choosing agent tools

Judge each candidate on the same dimensions:

  • Data source — does it cover the site/platform you actually need? (TikTok, Google Maps, Instagram, e-commerce, Facebook are all separate tools in Apify's catalog.)
  • Output format — JSON for structured logic, Markdown for LLM/RAG input.
  • Scheduling & monitoring — can it run on a schedule, or only on demand?
  • Integration — native support for your framework (LangChain, LlamaIndex) vs. raw API.
  • Cost — check the provider's pricing page; don't assume free.
  • Reliability signals — usage counts and ratings. Apify shows these per tool (e.g., Google Maps Scraper: 616K runs, 4.7 from 1,817 reviews; TikTok Scraper: 291K runs, 4.8 from 371).

Common failure points

  • Auth — API keys and tokens expire or lack scope; the agent fails silently.
  • Rate limits — high-volume agent loops hit caps fast; add backoff.
  • Stale data — a cached result looks valid but isn't; timestamp everything.
  • Unstructured output — raw HTML breaks parsing; prefer tools that clean and format.
  • Silent errors — an agent may treat a failed call as an empty result. Validate responses explicitly.

Bottom line

An AI agent is a goal-driven system that plans and calls tools; a chatbot just responds. To make an agent useful, connect it to tools that supply live data and actions — via direct APIs, a marketplace like Apify, or framework adapters. Pick tools by data source, output format, scheduling, integration, and cost, and guard against auth, rate-limit, and staleness failures before you ship.

What Are Open-Source UI Element Libraries and How Do They Differ From UI Frameworks?

An open-source UI element library is a collection of individual, ready-made interface pieces—buttons, cards, inputs, toggles, loaders—that you copy into your own project and adapt. A UI framework, by contrast, is a structured system of components, conventions, and often a theming layer that governs how your whole interface is built. The practical difference: an element library gives you a snippet; a framework gives you a way of working. If you need a polished button in ten minutes, reach for the element library. If you're building a 40-screen product with a team, you probably want the framework.

What "open-source UI element library" actually means

The term gets used loosely, so it helps to separate the parts:

  • Open-source: the code is publicly available, and the license tells you what you may do with it—copy, modify, redistribute, or use commercially.
  • UI element: a single, self-contained piece of interface, usually small enough to read in one sitting. A button with hover states, a pricing card, a search field.
  • Library: a browsable, searchable collection of those elements, typically contributed by many different people.

On a site like Uiverse, elements are shared by a community and written in plain CSS or Tailwind. You find one you like, copy the markup and styles, paste them into your project, and adjust colors, spacing, and text to fit. There's no package to install and no build step required—which is exactly the appeal, and also the source of most of the confusion.

Element library vs. UI framework: the core differences

Dimension Open-source UI element library UI framework / design system
Unit of reuse A single snippet you copy A component you import or call
Installation None; paste into your code Package install, config, sometimes a provider
Consistency Depends on you; each element may look different Enforced by shared tokens and APIs
Theming Manual edits per element Central theme/config file
Updates You own the copy; no upstream updates Version bumps bring fixes and changes
Accessibility Varies per contributor; must be checked Usually tested and documented
Best for Prototypes, landing pages, small sites, one-off needs Multi-page apps, teams, long-lived products
Learning curve Low—read the CSS Higher—learn the API and conventions

The table isn't a verdict. It's a map of trade-offs. Element libraries win on speed and freedom; frameworks win on consistency and maintenance.

Licensing and attribution: what to check before you paste

This is where people get into trouble, and it's worth slowing down for.

  1. Find the license. Every element or collection should state one. Common open-source licenses include MIT, Apache-2.0, and BSD. Some projects use copyleft licenses like GPL, which can impose obligations if you redistribute your code.
  2. Understand what the license permits. MIT and Apache-2.0 are permissive: you can typically use the code in commercial and closed-source projects. Copyleft licenses may require you to release derivative source under the same terms.
  3. Check attribution requirements. Permissive licenses usually require you to keep the copyright notice and license text somewhere in your project. That's a real obligation, not a formality.
  4. Look for per-element terms. On community sites, the site's overall terms and the individual contributor's stated wishes may differ. If a contributor asks for credit, honor it.
  5. When in doubt, ask or avoid. If a snippet has no license at all, you don't have clear permission to reuse it. Treat "no license" as "not open source," even if the code is publicly visible.

This article is general information, not legal advice. For commercial products with real exposure, have someone qualified review the licenses you're relying on.

How to use a community element in your project: a practical workflow

Here's a repeatable process that avoids most of the usual mess.

1. Start from a real need, not a browsing session

Decide what you need first—"a compact primary button with a loading state"—then search. Browsing aimlessly produces a pile of pretty snippets that don't fit together.

2. Copy the smallest version that works

Take the markup and the styles. Strip anything you don't need: demo wrappers, extra animations, decorative layers. Less code means fewer surprises.

3. Convert it to your conventions

If your project uses design tokens or CSS variables, replace hard-coded values:

/* Before: hard-coded */
.button { background: #4f46e5; border-radius: 8px; }

/* After: token-based */
.button { background: var(--color-primary); border-radius: var(--radius-md); }

This one step is what keeps a copied element from looking like a foreign object in your UI.

4. Check accessibility before you ship

Community elements vary widely here. Verify at minimum:

  • Keyboard focus is visible and the element is reachable by Tab.
  • Color contrast meets WCAG AA (4.5:1 for normal text).
  • Interactive elements use semantic HTML (<button>, not a clickable <div>).
  • Form inputs have associated labels.
  • Motion respects prefers-reduced-motion.

5. Test in context

Paste it into a real page with real content. Long labels, small screens, and dark mode break more copied elements than anything else.

6. Note where it came from

Keep a short comment or an internal credits file: source, license, date. Future you—and your legal reviewer—will be grateful.

Where element libraries genuinely shine

  • Prototypes and demos: you need something clickable today, not a design system.
  • Landing pages and marketing sites: a handful of distinctive elements, each custom.
  • Filling gaps: your framework lacks one specific component, and you don't want to build it from scratch.
  • Learning: reading well-made CSS is one of the fastest ways to improve.
  • Small projects: a personal site doesn't need a theming architecture.

Where they fall short

  • Consistency at scale: ten elements from ten contributors rarely look like one product.
  • Maintenance: you own every copy. When your design changes, you edit each one.
  • Accessibility debt: you inherit whatever the contributor did or didn't do.
  • No upstream fixes: a bug fixed in the original won't reach your copy.
  • Integration friction: different naming conventions, different units, different assumptions about resets.

When to choose which

Choose an element library when the scope is small, the timeline is short, or you need a few distinctive pieces rather than a whole system.

Choose a framework or design system when multiple people build multiple screens over months, when consistency is a product requirement, or when accessibility and theming need to be guaranteed rather than checked.

A hybrid works well for many teams: adopt a framework for the structural components—forms, navigation, layout—and borrow individual elements for the places where you want personality. Just route every borrowed element through the same token and accessibility checks, so it lands as part of your system rather than beside it.

The short version: open-source UI element libraries are a fast, flexible way to get good-looking interface pieces into a project. They are not a substitute for a design system, and the license and accessibility details are the part worth reading carefully.

What Is MCP and How Does It Connect AI Agents to Tools?

MCP (Model Context Protocol) is an open protocol that gives AI models a standard way to connect to external tools, data sources, and services. Instead of building a custom integration for every tool an agent needs, MCP defines one shared interface so any MCP-capable client can talk to any MCP server. You need MCP when you want an AI agent to reach beyond its training data — reading files, querying databases, calling APIs, or operating third-party apps — without writing bespoke glue code for each connection.

The core idea: one protocol instead of many integrations

Without a standard, connecting an AI agent to five tools means five separate integrations, each with its own authentication, data format, and error handling. MCP replaces that with a client-server model where the protocol itself handles the contract. The model doesn't need to know how a specific tool works internally; it only needs to speak MCP.

How the architecture fits together

MCP uses three roles:

Role What it does Example
Host The application the user interacts with; it decides what the model can access An AI agent app or IDE assistant
Client The connector inside the host that maintains a session with a server One client per server connection
Server Exposes tools, data, or prompts through the MCP interface A file-system server, a database server, an API wrapper

The flow works like this:

  1. The host starts and creates a client for each server it wants to use.
  2. The client connects to the server and they negotiate capabilities.
  3. The server advertises what it offers — callable tools, readable resources, or reusable prompts.
  4. When the model needs something, the host routes the request through the client to the server.
  5. The server performs the action and returns a result the model can use.

This separation matters because the model never talks to the outside world directly. The host stays in control of which servers are connected and what the model is allowed to do.

What you can actually do with MCP

MCP servers typically expose three kinds of capability:

  • Tools — functions the model can call, such as running a search, creating a file, or sending a message.
  • Resources — data the model can read, such as documents, database rows, or configuration files.
  • Prompts — reusable templates that guide how the model handles a task.

Practical examples include giving an agent access to a local file system so it can read and edit project files, connecting it to a database so it can answer questions with live data, or wrapping a third-party API so the agent can act on external services. For instance, a coding agent could use an MCP server to inspect a repository, run tests, and apply changes — all through the same protocol it would use to query a database.

Why a standard protocol beats ad-hoc plugins

Ad-hoc integrations and plugins work, but they tend to be:

  • Tool-specific — each one is built for a single service and can't be reused elsewhere.
  • Host-specific — a plugin written for one assistant usually won't run in another.
  • Hard to audit — permissions and data flow are buried in custom code.

MCP addresses these by making the interface uniform. A server written once can be used by any MCP-capable host, permissions are declared at the protocol level, and the boundary between the model and external systems stays explicit. The trade-off is that MCP adds a layer of abstraction, so very simple one-off integrations may still be faster to write directly.

What you need to start

To use MCP you need two things:

  1. An MCP-capable client or host — an AI agent application or development tool that supports the protocol.
  2. At least one MCP server — either an existing server for the tool you want to connect, or one you build yourself.

Once both are in place, you configure the host to connect to the server, review what capabilities the server exposes, and let the agent use them. The main things to check before connecting are what data the server can access and what actions it can take, since those define the agent's reach.

Website Overview

The available information shows a mix of normal operation and configuration gaps. Depending on how the website is used, these gaps may affect secure access or the consistency of its public presentation.

Domain and Registration

Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The domain has about 2 years of registration history; its current configuration provides more context than age alone. The registrar is NameCheap, Inc., a widely used domain service provider. Registration contact information is publicly available through RDAP. The domain uses the common .ai extension, which is not an independent safety signal.

DNS and Email

Nameservers are provided by Cloudflare, indicating managed DNS hosting. MX records point to the Microsoft 365 email service. SPF and DMARC are configured. DKIM status is unknown. TXT records include verification markers for Google, Apple, Microsoft. Such markers may also remain after a service stops being used. DNSSEC signatures were not detected, so this additional DNS authenticity protection is not confirmed.

TLS and Certificates

The certificate uses an RSA 2048-bit public key, offering broad client compatibility. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued by Let's Encrypt, commonly associated with automated certificate services. The certificate's total validity is about 89 days, consistent with a short renewal cycle.

HTTP and Browser Security

X-Powered-By exposes backend information: Next.js. The response lacks these common security headers: CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, clickjacking protection. No obvious internal addresses or debug information were found in the headers. The Server header contains the custom value Vercel. No explicit CDN or WAF marker was found in the response headers.

Technology Stack Analysis

The public page identifies Next.js, Vercel without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

The canonical URL points to another host: https://getwren.ai/. Search engines may consolidate indexing signals there. Twitter Card metadata is configured. JSON-LD includes Organization data, helping describe the organization as an entity. The title has 57 characters, within a common display range. A meta description is present, with 147 characters.

Hosting and Email

DNSCloudflare
HostingVercel
EmailMicrosoft 365
Location United States flagUnited States 216.150.1.193

User reviews (0)

  • No reviews yet.

Pages, Search and Sharing

Meta descriptionOne governed data agent for people and AI agents. Use Wren's GenBI agent, or call it from Claude, ChatGPT or your own agents over MCP. Open source.
Canonical URLhttps://getwren.ai/
LanguageEnglish (default)
Twitter Cardsummary_large_image
All bots 1 allowed · 0 disallowed
  • Allow/
gptbot 1 allowed · 0 disallowed
  • Allow/
oai-searchbot 1 allowed · 0 disallowed
  • Allow/
chatgpt-user 1 allowed · 0 disallowed
  • Allow/
claudebot 1 allowed · 0 disallowed
  • Allow/
claude-user 1 allowed · 0 disallowed
  • Allow/
claude-searchbot 1 allowed · 0 disallowed
  • Allow/
perplexitybot 1 allowed · 0 disallowed
  • Allow/
perplexity-user 1 allowed · 0 disallowed
  • Allow/
google-extended 1 allowed · 0 disallowed
  • Allow/
bingbot 1 allowed · 0 disallowed
  • Allow/

Registration details RDAP / WHOIS

RegistrarNameCheap, Inc.
Registered2024-03-13
Expires2028-03-13
Domain statusclient transfer prohibited
Nameserverscesar.ns.cloudflare.com、lila.ns.cloudflare.com
DNSSECunsigned

DNS records

TypeNameValueTTLPriority
A96e576feac30da79.vercel-dns-016.com216.150.1.193300—
A96e576feac30da79.vercel-dns-016.com216.150.16.193300—
MXgetwren.aigetwren-ai.mail.protection.outlook.com3000
NSgetwren.aicesar.ns.cloudflare.com86400—
NSgetwren.ailila.ns.cloudflare.com86400—
TXTgetwren.aiMS=ms23565308300—
TXTgetwren.aiahrefs-site-verification_3307764154c1ca92966cd58b4165145c967dd883e21fa5adadf413e2f6c0157a300—
TXTgetwren.aiapple-domain-verification=GxsYQmmCZSjG49OM300—
TXTgetwren.aigoogle-site-verification=42232SzCmkuAezbdGW13h8kcsSM3zyz1hPFUQ7cpeB4300—
TXTgetwren.aigoogle-site-verification=ZSvThtP8Uu0P3U1Hp2ADYkabLy6d0kMs8Mii1yFt7WQ300—
TXTgetwren.aihubspot-developer-verification=NDQzNmQ2ODYtZWM4MC00NWYxLWFiYWEtZjI5ZjNhYjU4MGRj300—
TXTgetwren.ailinkedin-site-verification=db315def-77ca-4697-8f0d-f2dfd6910fd4300—
TXTgetwren.aiv=spf1 include:spf.protection.outlook.com include:19644562.spf01.hubspotemail.net -all300—
CNAMEwww.getwren.ai96e576feac30da79.vercel-dns-016.com120—
DMARC_dmarc.getwren.aiv=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; sp=none; ri=86400300—

TLS and certificates

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectwww.getwren.ai
IssuerLet's Encrypt
Valid until2026-11-11T23:13 · Remaining when checked: 40 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HeaderValue
content-typetext/html; charset=utf-8
cache-controlpublic, max-age=0, must-revalidate
serverVercel
strict-transport-securitymax-age=63072000

Identified technologies

Next.jsVercel