Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

glim.sh

REMOTE · GLIM.SH · SCANNED AUG 3

Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.

Available components

+7 this week 76 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4323 tokens (~254/item across 17 items; 11 tools + 6 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · glim.sh

# add to Claude Code
claude mcp add --transport http sh-glim-glim https://glim.sh/mcp
# ~/.codex/config.toml
[mcp_servers.sh-glim-glim]
url = "https://glim.sh/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sh-glim-glim": {
      "type": "remote",
      "url": "https://glim.sh/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add sh-glim-glim --url https://glim.sh/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  sh-glim-glim:
    url: "https://glim.sh/mcp"
// mcp.json
{
  "mcpServers": {
    "sh-glim-glim": {
      "type": "http",
      "url": "https://glim.sh/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +4
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 69

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://glim.sh/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=glim.sh CN=YR1,O=Let's Encrypt,C=US 27 Jul 2026 25 Oct 2026 RSA 2048 SHA256-RSA 531f1b62fe2bc5cc5d33b66de1092f37bb4
SANs: glim.sh
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f
DNSSEC insecure

Validation of glim.sh. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
sh. present 55297 8 Verified
glim.sh. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://glim.sh/mcp Verified 200
http (plaintext) http://glim.sh/mcp HTTPS enforced 308 https://glim.sh/mcp
MCP tools — 11 exposed · ~4,030 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
glim_amazon_get ~288

Fetch Amazon product detail from a full product URL (the marketplace - com|co.uk|de|fr|es|it - is read from the URL host; pass the url field from a glim_amazon_search result, or any /dp/<ASIN> page URL). Returns title, buybox price (gross + VAT-excluded net), stock, delivery estimate, rating, top reviews, and an 'other sellers' summary (count + floor price). Text mode (default) returns a compact view with offers_summary {buybox, lowest_new, lowest_used} - pass format='json' for full structured data incl. the offers[] listing and images.

NameTypeReqDescription
formatstringOutput format. 'text' (default): compact human-readable view, fewer tokens. 'json': the same product as machine-readable JSON, plus the fields text omits: the full `offers[]` list (text summarizes it…
refstringyesFull Amazon product URL - pass the `url` from a glim_amazon_search result, or any /dp/<ASIN> product page URL. The URL carries the marketplace (amazon.de, amazon.co.uk, ...), so no separate region is…

No output schema declared.

No examples provided.

glim_amazon_search ~406

Pass exactly ONE of {query} or {category_slug}. Searches Amazon (com|co.uk|de|fr|es|it) and returns ranked hits with buybox price (gross + VAT-excluded net), ratings, review counts, and ASINs. Drill down with glim_amazon_get(ref). Set sort_by='most_reviewed' (with min_reviews to filter junk) for a trust-weighted re-rank within the current page. Compact text by default; pass format='json' for full structured data.

NameTypeReqDescription
category_slugstringAmazon bestsellers category slug, e.g. 'electronics' (.com), 'elektronik' (.de), 'electronique' (.fr). Invalid slugs return 'not_found' - retry with a correct slug.
formatstringOutput format. 'text' (default): compact human-readable view, fewer tokens. 'json': the same hits as machine-readable JSON. Text already carries every field except `image_url`, which only json return…
include_paidbooleanInclude sponsored ad results (default: dropped)
include_suggestedbooleanInclude 'people also searched for' suggestions (default: dropped)
min_reviewsintegerDrop hits with fewer than N reviews. Pair with sort_by='most_reviewed' for a trust-weighted result. Applied client-side to organic/paid/suggested.
pageintegerPage number (1-20)
querystringFree-text keyword query (mutually exclusive with category_slug)
sort_bystringServer-side sort, except 'most_reviewed' which re-ranks the current page client-side by review count desc (rating tiebreaker). Pair 'most_reviewed' with min_reviews to skip thinly-reviewed items.
tldstringAmazon marketplace: com | co.uk | de | fr | es | it

No output schema declared.

No examples provided.

glim_github_get ~374

Fetch GitHub data from a single ref. GitHub URL or 'owner/repo' shorthand. A repo URL or owner/repo returns metadata + README; /pull/N -> PR (with comments + changed files), /issues/N -> issue, /blob/<ref>/<path> -> file (raw.githubusercontent.com URLs work too), /tree/<ref>[/<path>] -> file tree (optionally scoped to a subdirectory), /commit/<sha> -> one commit with diff, /commits[/<ref>/<path>] -> history (optionally for one file), /branches, /releases (or /releases/tag/<tag> | /releases/latest -> one release), /topics/<name> -> top repos with that topic (by stars).

NameTypeReqDescription
formatstringOutput encoding. 'text' (default): compact human-readable text, fewer tokens (file returns raw content). 'json': machine-readable JSON.
pageintegerPage number
per_pageintegerResults per page
refstringyesGitHub URL or 'owner/repo' shorthand. A repo URL or owner/repo returns metadata + README; /pull/N -> PR (with comments + changed files), /issues/N -> issue, /blob/<ref>/<path> -> file (raw.githubuser…

No output schema declared.

No examples provided.

glim_github_search ~773

Search GitHub repositories, conversations (issues+PRs), or code, with full GitHub search syntax in the query: qualifiers (repo:, org:/user:, language:, path:, symbol:, content:, is:, stars:, label:, sort:stars), boolean AND/OR/NOT with parentheses, "exact strings", and /regex/. kind='repos': MINIMAL distinctive keywords - the project/library name only ('rtk', 'react query'); every extra word must ALL match and buries the canonical repo - filter with qualifiers, not prose. kind='code': ONE literal code pattern as it appears in files ('useState('), an "exact string", a /regex/, or symbol:name to find definitions, across 2.8M+ public repos; narrow with repo:/language:/path:. Not supported in code search: license:, enterprise:, is:vendored, is:generated. kind='conversations': returns compact previews - use glim_github_get for full content; sort: REPLACES relevance ranking (words match anywhere incl. comments), omit it for best matches. Set repo='owner/name' to scope to one repository (works with any kind; with repos it routes to conversations). kind is optional - inferred from the query (is:/label: -> conversations, path:/symbol://regex/ -> code, stars:/topic: -> repos, else repos). Returns compact text by default; pass format='json' for full structured data.

NameTypeReqDescription
formatstringOutput format. 'text' (default): compact human-readable previews, fewer tokens. 'json': full structured data for machine parsing.
kindstringWhat to search: 'repos', 'conversations' (issues+PRs), or 'code' (literal/regex/symbol search across 2.8M+ public GitHub repos). Optional - inferred from the query: is:/label:/author: implies convers…
pageintegerPage number
per_pageintegerResults per page
querystringyesSearch query in full GitHub search syntax: qualifiers (repo:owner/name, org:/user:, language:, path: with globs, symbol:, content:, is:, stars:>N, label:, sort:stars), boolean AND/OR/NOT with parenth…
repostringScope to one repository. Accepts 'owner/name', a github.com URL, or a partial 'owner/' (code). Works with any kind; setting it with kind=repos routes the search to conversations, since repo-name sear…

No output schema declared.

No examples provided.

glim_reddit_get ~255

Fetch a Reddit post, subreddit, or user by ref. Posts return comments; subreddits and users return profile metadata plus recent activity.

NameTypeReqDescription
comment_depthintegerMax nesting depth (post refs only)
comment_limitintegerMax comments (post refs only)
comment_sortstringComment sort. Post refs only: subreddit/user listings always hydrate a fixed 2 top-level comments sorted by top.
cursorstringPagination cursor from a prior subreddit response's next_cursor
formatstringOutput format. 'text' (default): compact human-readable view, fewer tokens. 'json': full structured data for machine parsing.
include_commentsbooleanInclude recent comments for user refs
include_postsbooleanInclude recent posts for user refs
limitintegerMax subreddit posts (1-10), each with full content + top comments
refstringyesPost ID or URL, subreddit ref (r/programming or reddit.com/r/programming), or user ref (u/spez or reddit.com/user/spez)
sortstringListing post sort
timestringListing time range

No output schema declared.

No examples provided.

glim_reddit_search ~289

Search Reddit posts. Each result comes with full post content and its top comments, so a single search usually answers the question without follow-up. Compact human-readable text by default; pass format='json' for full structured data. Use glim_reddit_get(ref) for a single post's complete comment tree. Page with cursor (response gives next_cursor when more exist). See docs://reddit-search.

NameTypeReqDescription
cursorstringPagination cursor from a prior response's next_cursor
end_datestringOnly posts before this date (YYYY-MM-DD)
formatstringOutput format. 'text' (default): compact human-readable view, fewer tokens. 'json': full structured data for machine parsing.
limitintegerMax posts (1-10), each with full content + top comments
querystringyesSearch query (e.g. 'subreddit:programming machine learning')
sortstringSort order. Keep 'relevance' (default) for question or topic queries - it ranks by how well posts match your query. 'top'/'hot' rank by score/recency and largely ignore the query text, so use them on…
start_datestringOnly posts on or after this date (YYYY-MM-DD)
timestringTime range

No output schema declared.

No examples provided.

glim_twitter_get ~329

Fetch a tweet or a user from one reference. A tweet URL (incl. handle-less /i/status/<id>) returns the tweet with full thread context, parent, and optional replies/quotes; a profile URL (https://x.com/<handle>) returns the user with recent tweets. Prefer full URLs - if you only have a numeric id, pass it as a quoted string. Returns a compact human-readable view by default; pass format='json' for full structured data.

NameTypeReqDescription
cursorstringProfile refs only: pagination cursor from next_cursor
expand_urlsbooleanWhen true, auto-crawl entity URLs and attach crawled_content to tweets. Off by default: responses can grow by up to 4KB per expanded URL. Use glim_web_fetch(url) for targeted crawls instead.
formatstringOutput format. 'text' (default): compact human-readable view, fewer tokens. 'json': full structured data for machine parsing.
includearrayTweet refs only: also fetch 'replies' and/or 'quotes'
include_mentionsbooleanProfile refs only: include the mentions timeline
include_repliesbooleanProfile refs only: include replies in the timeline
refstringyesTweet URL or profile URL. A tweet URL (incl. /i/status/<id>) returns the tweet + thread; a profile URL (https://x.com/<handle>) returns the user + recent tweets. Prefer full URLs - if you only have a…

No output schema declared.

No examples provided.

glim_twitter_search ~367

Search Twitter/X. Returns a compact human-readable list by default; pass format='json' for full structured data. Use glim_twitter_get(ref) for full thread context. Use docs://search-operators for reference.

NameTypeReqDescription
cursorstringPagination cursor from previous search. Ranking is strongest on page 1 - paged results under sort:'top' trend toward recency (upstream behavior).
end_datestringOnly tweets before this time. YYYY-MM-DD (inclusive through end of day UTC) or ISO 8601 datetime with Z/offset (e.g. 2026-04-13T14:30:00Z)
expand_urlsbooleanWhen true, auto-crawl entity URLs and attach crawled_content to tweets. Off by default: responses can grow by up to 4KB per expanded URL. Use glim_web_fetch(url) for targeted crawls instead.
formatstringOutput format. 'text' (default): compact human-readable view, fewer tokens. 'json': full structured data for machine parsing.
querystringyesSearch query with operators (e.g. 'from:elonmusk AI min_faves:100 within_time:7d')
sortstringSort by relevance or recency: "top" (most engaged tweets matching the query - best for "what's the conversation about X") or "latest" (newest first - best for monitoring/recency). Default: "top".
start_datestringOnly tweets on or after this time. YYYY-MM-DD (UTC midnight) or ISO 8601 datetime with Z/offset (e.g. 2026-04-13T14:30:00Z)

No output schema declared.

No examples provided.

glim_web_fetch ~289

Fetch a single web page and extract clean content. Auto-tier server-side: handles SSR (Next.js, Nuxt, TikTok, Pinterest, YouTube), SPA shells, PDFs, paywall detection, residential-proxy escalation, and stealth profiles for TikTok / Instagram / Pinterest / YouTube. Returns clean markdown (default) with a YAML frontmatter header (url, outcome, total_chars). Read 'outcome' to classify the result (success | teaser | thin_content | paywall | bot_challenge | consent_wall | login_wall | rate_limited | timeout | transient_upstream | unsupported_target | not_found | error). Large pages (>80k chars) are truncated inline with truncated_chars + a download_full_url to the complete extraction (expires ~1h). Permanently unsupported (outcome=unsupported_target, cost=0 upstream): Bluesky search, Instagram post/reel and tag/explore pages (profiles work), Pinterest search, g2.com, Truth Social, Xiaohongshu. Threads and Instagram profile pages ARE supported.

NameTypeReqDescription
formatstringOutput format. 'markdown' (default) clean article text; 'html' raw cleaned HTML; 'json' the structured SSR blob (TikTok / Pinterest / YouTube) instead of article text.
selectorstringCSS selector to scope extraction
urlstringyesURL to fetch

No output schema declared.

No examples provided.

glim_web_search ~268

Semantic web search powered by Exa. Returns titles, URLs, and the top query-relevant excerpt per result. Compact text by default; pass format='json' for full structured data incl. all excerpts per result. Use glim_web_fetch(url) for full page content. Matching is semantic, so a query with no real match still returns ten nearest-neighbour results rather than zero - judge relevance from the excerpts, not from the result count.

NameTypeReqDescription
exclude_domainsarrayExclude results from these domains. Useful for filtering noisy aggregators or SEO farms when you've seen them dominate results (e.g. ['pinterest.com', 'quora.com']).
formatstringOutput format. 'text' (default): compact human-readable list, fewer tokens. 'json': the same results as structured data (title, url, snippet, score, published_date, author).
include_domainsarrayRestrict results to these domains (e.g. ['arxiv.org'])
published_within_daysintegerRestrict to results published within the last N days. Skip this for broad queries - it excludes pages without publish-date metadata. Common values: 1, 7, 30, 365.
querystringyesSearch query

No output schema declared.

No examples provided.

glim_youtube_get ~392

Fetch a YouTube video transcript from a video URL or 11-char id. The transcript is cleaned server-side: deduplicated, tags/HTML stripped, with coarse [m:ss] timestamps - roughly a tenth the size of the raw captions. Default format='text' returns it inline (when it fits ~40K chars / ~10K tokens) so a single call gives you the text directly; long-form videos fall back to a download_url note. Pass format='json' for the same transcript plus transcript metadata (video_id, canonical url, language, origin, size) and a presigned download_url - for batch/programmatic use. Default origin='uploader_provided' (human captions); falls back to 'auto_generated' automatically if missing (counts as 2 upstream calls). Cached 7 days server-side.

NameTypeReqDescription
formatstringOutput format. 'text' (default): the cleaned transcript inline as plain text (omitted with a download_url note when it exceeds the ~40K-char inline cap). 'json': the same cleaned transcript plus tran…
language_codestringISO 639-1 language code (e.g. 'en', 'de', 'fr')
originstring'uploader_provided' for human captions (default), 'auto_generated' for YouTube auto-captions.
refstringyesYouTube video URL or 11-char video id (e.g. https://youtu.be/dQw4w9WgXcQ, https://www.youtube.com/watch?v=dQw4w9WgXcQ, or dQw4w9WgXcQ)

No output schema declared.

No examples provided.