Skip to content

glim.sh

sh.glim/glimglim.shstreamable-httpv1.0.0Scanned

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

14 tools: 1 change things and 13 only read.

Tools: 0 delete, 0 irreversible, 1 write, 13 read.
  • Reads private data · 2
  • Reads text others write · 14
  • Can send data out · 1
  • 1 finding

Tools listed without sign-in. Remote posture

Anlyon alternative

1 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

14 tools

Changes things 1Claude Code: ask
  • glim_detect_aiDetect AI-generated text.Reads text others write1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The description names a tool "humanizer" that this server does not list.

      Matched text

      description: "...ags (AI output run through paraphrasing/'humanizer' tools). Use it to verify whether content (com..."

      What this check looks for
    Description, as the server wrote it
    Detect AI-generated text. Scores any text for AI-authorship likelihood and returns an overall verdict (AI / human / mixed) with confidence, the AI/human/AI-assisted fractions, and a segment-by-segment breakdown showing exactly which parts read as AI-written - including per-segment humanizer flags (AI output run through paraphrasing/'humanizer' tools). Use it to verify whether content (comments, articles, profiles) is AI-generated, or to check text before publishing to see which segments would trip AI detectors - revise the flagged segments and re-check. Cost scales with text length: $0.06 per 100 words, rounded up, minimum $0.06. Max input 20,000 characters.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 13Show 13 read-only tools
  • glim_amazon_getFetch 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 an…Reads text others writeNo findings

    Why it is in this group

    • The name "glim_amazon_get" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "fetch" and "url": it reads web pages, which anyone can write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • glim_github_getFetch GitHub data from a single ref.Reads text others writeNo findings

    Why it is in this group

    • The name "glim_github_get" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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, /discussions/N -> discussion (with threaded replies), /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).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • glim_reddit_getFetch a Reddit post, subreddit, or user by ref.Reads text others writeNo findings

    Why it is in this group

    • The name "glim_reddit_get" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "fetch" and "post": it reads posts, which other people can write.
    Description, as the server wrote it
    Fetch a Reddit post, subreddit, or user by ref. Posts return comments; subreddits and users return profile metadata plus recent activity.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • glim_telegram_getFetch a public Telegram channel or post - no account or API key involved.Reads text others writeNo findings

    Why it is in this group

    • The name "glim_telegram_get" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "fetch" and "post": it reads posts, which other people can write.
    Description, as the server wrote it
    Fetch a public Telegram channel or post - no account or API key involved. Channel refs (@handle, handle, t.me URL) return channel info + recent posts newest-first with views, reactions, media, polls, and link previews; pass query to search within the channel's full history, and page older posts with before=<next_cursor>. Post refs (t.me/<channel>/<id>) return that post plus its most recent discussion comments. Media URLs are Telegram CDN links that expire within hours - fetch promptly, never store. Only channels with a public web preview work (most public channels); private channels and groups are not accessible.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • glim_twitter_getFetch a tweet or a user from one reference.Reads text others writeNo findings

    Why it is in this group

    • The name "glim_twitter_get" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "fetch" and "tweet": it reads posts, which other people can write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • glim_web_fetchFetch a single web page and extract clean content.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "glim_web_fetch" says "fetch": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe name "glim_web_fetch" says "fetch" and "web": it reads web pages, which anyone can write.
    • untrusted-inputThe description's first sentence says "fetch" and "web": it reads web pages, which anyone can write.
    • untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Claude Code: ask, because it is tagged outbound.

    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • glim_youtube_getFetch a YouTube video transcript from a video URL or 11-char id.Reads text others writeNo findings

    Why it is in this group

    • The name "glim_youtube_get" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "fetch" and "url": it reads web pages, which anyone can write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

28 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.

Reads private data2
Reads files, mail, messages, databases, secrets, calendars or repositories.
Can send data out1
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__glim__glim_web_fetch"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Remote posture

What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.

Tools listed without sign-in

Looked at Oct 22, 2026, 15:13 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.

Reachable
yes
HTTP status of an anonymous initialize
200
tools/list served without credentials
yes
Tools that change things, listed without credentials
1
Protocol version
2025-06-18
WWW-Authenticate on 401
not observed
resource_metadata in WWW-Authenticate
not observed
RFC 9728 protected resource metadata
https://glim.sh/.well-known/oauth-protected-resource/mcp
Authorization servers
https://glim.sh/api/auth
Legacy HTTP+SSE transport
no
Dynamic client registration
yes
Client ID metadata documents
no
  • WarnThe whole server

    The endpoint served tools/list without credentials, and the list has 1 tool that changes things (1 write). Whether a call also works without credentials was not tested: tools are never called.

    Matched text

    https://glim.sh/mcp: tools/list returned 14 tools to an anonymous client, including glim_detect_ai (write)

    What this check looks for

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The description names a tool "humanizer" that this server does not list.

    Matched text

    description: "...ags (AI output run through paraphrasing/'humanizer' tools). Use it to verify whether content (com..."

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http glim https://glim.sh/mcp
claude mcp add --transport http glim https://glim.sh/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__glim__glim_twitter_search",
      "mcp__glim__glim_twitter_get",
      "mcp__glim__glim_reddit_search",
      "mcp__glim__glim_reddit_get",
      "mcp__glim__glim_web_search",
      "mcp__glim__glim_github_search",
      "mcp__glim__glim_github_get",
      "mcp__glim__glim_amazon_search",
      "mcp__glim__glim_amazon_get",
      "mcp__glim__glim_youtube_get",
      "mcp__glim__glim_telegram_search",
      "mcp__glim__glim_telegram_get"
    ],
    "ask": [
      "mcp__glim__glim_web_fetch",
      "mcp__glim__glim_detect_ai"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as glim. Review it before you use it.

Capability tags behind 14 rules
  • mcp__glim__glim_twitter_search untrusted-input
  • mcp__glim__glim_twitter_get untrusted-input
  • mcp__glim__glim_reddit_search untrusted-input
  • mcp__glim__glim_reddit_get untrusted-input
  • mcp__glim__glim_web_search untrusted-input
  • mcp__glim__glim_web_fetch untrusted-input, outbound
  • mcp__glim__glim_github_search private-data, untrusted-input
  • mcp__glim__glim_github_get untrusted-input
  • mcp__glim__glim_amazon_search untrusted-input
  • mcp__glim__glim_amazon_get untrusted-input
  • mcp__glim__glim_youtube_get untrusted-input
  • mcp__glim__glim_detect_ai untrusted-input
  • mcp__glim__glim_telegram_search private-data, untrusted-input
  • mcp__glim__glim_telegram_get untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/sh.glim/glim/verify?hash=eacc685bfd255de96355cd71503f981e7cb8f63570cdc34e80ee7f4d486d1ee9" | jq -e '.changed == false'

Pinned hash eacc685bfd25, from Oct 21, 2026, 19:15 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/sh.glim/glim/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for sh.glim/glim
[![anlyon.dev](https://anlyon.dev/badge/sh.glim/glim.svg)](https://anlyon.dev/servers/sh.glim/glim)

Source: MCP Registry · repository. Synced Oct 21, 2026, 18:54 UTC.