GR

Gralio SaaS Database MCP Server: Compare SaaS Products

Compare SaaS products with Gralio's MCP server using G2, Trustpilot, Crunchbase, LinkedIn data, pricing, features and reviews to find the best fit.

Quick Install
npx -y @tymonTe/gralio-mcp

Overview

Gralio’s MCP (Model Context Protocol) Server provides a lightweight HTTP service that turns structured SaaS product signals into contextual payloads usable by LLMs and other downstream systems. It ingests and normalizes data from public review and company sources—G2, Trustpilot, Crunchbase, LinkedIn—alongside pricing, feature lists and user reviews, then surfaces curated context items that help models answer product-comparison queries or enrich analytics pipelines.

This server is useful when you need reliable, up‑to‑date comparison context for tasks such as vendor selection, competitive research, or automated recommendation flows. Instead of scraping and transforming multiple sources in your application, the MCP server centralizes extraction and alignment, presenting results in a standardized format suitable for prompt augmentation or structured lookups.

Features

  • Aggregates SaaS product metadata and signals from multiple sources: G2, Trustpilot, Crunchbase, LinkedIn
  • Normalizes pricing, features, review sentiment, and company attributes into a consistent context schema
  • Exposes a simple HTTP API compatible with Model Context Protocol patterns for context injection
  • Configurable data connectors and API keys via environment variables
  • Lightweight Node/Express implementation with Docker support for easy deployment
  • Pluggable pipeline for adding new data sources or custom enrichment steps
  • Returns ranked context items with source attribution and relevance scores

Installation / Configuration

Prerequisites: Node.js 18+, npm or Docker.

Clone and install:

git clone https://github.com/tymonTe/gralio-mcp.git
cd gralio-mcp
npm install

Create a .env file (example keys shown):

PORT=8080
LOG_LEVEL=info
DATA_DIR=./data
G2_API_KEY=your_g2_key
TRUSTPILOT_API_KEY=your_trustpilot_key
CRUNCHBASE_API_KEY=your_crunchbase_key
LINKEDIN_CLIENT_ID=your_client_id
LINKEDIN_CLIENT_SECRET=your_client_secret

Start locally:

npm run start
# or for development
npm run dev

Docker

# build
docker build -t gralio-mcp:latest .

# run
docker run -e PORT=8080 \
  -e G2_API_KEY=$G2_API_KEY \
  -e TRUSTPILOT_API_KEY=$TRUSTPILOT_API_KEY \
  -p 8080:8080 \
  gralio-mcp:latest

Configuration tips

  • Use DATA_DIR to persist fetched snapshots (useful for rate-limited APIs).
  • Set LOG_LEVEL to debug while integrating, then lower to info/warn in production.
  • Add or remove connector credentials in your environment to enable/disable specific sources.

Available Resources

The server exposes a small set of endpoints and internal tools for developers:

  • POST /mcp/context — primary endpoint: pass a request describing the desired comparison context; returns an array of context items
  • GET /health — basic health and readiness check
  • /admin/sync — trigger a manual fetch/update of external data sources (authenticated)
  • Local CLI utilities for reindexing and exporting snapshots (see tools/ in the repo)

Example context item schema (returned JSON fields):

FieldTypeDescription
sourcestringData origin (g2, trustpilot, crunchbase, linkedin)
idstringSource-specific identifier
titlestringProduct or company name
snippetstringShort summary or review excerpt
urlstringLink back to original resource
tagsstring[]Feature or category tags
priceobjectNormalized pricing tiers (min/max/currency)
scorenumberRelevance / confidence score (0–1)
fetched_atstringISO timestamp

Example response (truncated):

[
  {
    "source": "g2",
    "id": "g2-12345",
    "title": "Acme CRM",
    "snippet": "Top-rated for small teams; strong contact management features",
    "url": "https://g2.com/products/acme-crm",
    "tags": ["crm", "contact-management"],
    "price": {"min": 15, "max": 50, "currency": "USD"},
    "score": 0.92,
    "fetched_at": "2026-04-09T12:00:00Z"
  }
]

Use Cases

  • Product comparison chatbot: Enrich model prompts with a ranked set of product facts and review excerpts so an assistant can generate side-by-side comparisons including pricing and sentiment.

    • Example: User asks “Which CRM is best for a 10-person sales team?” Server returns top products with pricing ranges, G2 ratings, and common feature tags used to craft the assistant’s reply.
  • Procurement/vendor shortlisting: Automate initial vendor screening by collecting Crunchbase company stage, LinkedIn headcount, and Trustpilot/G2 review trends to filter out startups below required scale or vendors with low review scores.

    • Example: Filter vendors with headcount > 50, revenue signals present on Crunchbase, and average review score > 4.0.
  • Competitive intelligence & alerts: Periodically sync sources and detect changes in pricing, feature additions, or review sentiment shifts to trigger notifications to product or sales teams.

    • Example: Send an alert when a competitor adds a new “enterprise SSO” feature or drops entry-level pricing.
  • Data enrichment for analytics: Normalize disparate fields from review platforms into a consistent schema for downstream dashboards or ML models (e.g., correlating pricing tiers to average sentiment).

Getting Help and Contributing

  • Repository: https://github.com/tymonTe/gralio-mcp
  • Read the code in the repo for connector implementations and example configs in /config and /tools.
  • To add a new source, implement a connector that emits the normalized schema and register it in the pipeline configuration.
  • Open issues or PRs for bugs, connector improvements, and new feature requests.