glim.sh
Server Details
Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- glim-sh/glim-mcp
- GitHub Stars
- 3
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 11 of 11 tools scored. Lowest: 3.9/5.
Each tool has a unique purpose distinguished by domain prefix and action (search vs get/fetch). No overlapping functionality; an agent can clearly select the appropriate tool for Amazon, GitHub, Reddit, Twitter, web, or YouTube tasks.
All tools follow a consistent glim_{domain}_{action} pattern. The only minor inconsistency is using 'fetch' instead of 'get' for glim_web_fetch, while others use 'get' (e.g., glim_amazon_get). Still highly readable and predictable.
11 tools is well-scoped for a meta-search/fetch server covering six data sources. Each tool is necessary and there is no redundancy. The count is within the ideal range for manageability and discoverability.
The tool surface provides search and detailed fetch operations for all major domains (Amazon, GitHub, Reddit, Twitter, web, YouTube). For a read-only information retrieval use case, it covers the essential lifecycle without obvious gaps.
Available Tools
11 toolsglim_amazon_getAmazon ProductARead-onlyIdempotentInspect
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/ 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.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Full 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 needed; tracking junk in the URL is ignored. A bare ASIN is rejected: it is ambiguous across marketplaces. | |
| format | No | Output format. 'text' (default): compact human-readable view, fewer tokens. 'json': full structured data (offers[], images, variants). | text |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and no destructiveness. Description adds context about marketplace detection from URL host, return fields, and format options. However, it doesn't mention potential rate limits or the fact that fetching may also respect request headers like user-agent, which is a minor gap. Overall, it provides moderate additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single paragraph but well-organized: first sentence states core purpose, second details return info, third explains format options. No fluff, every sentence adds value. Appropriate length for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters, full annotations, and no output schema, the description covers everything an agent needs: input constraints, output summary, format options, and marketplace handling. It is self-contained and leaves no obvious gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions. The description adds crucial detail: 'ref' must be a full URL (not ASIN) and carries marketplace info; 'format' defaults to 'text' and 'json' gives full structured data. This enriches the schema without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches Amazon product details from a full product URL, distinguishing it from sibling tools like glim_amazon_search which is for searching. It specifies the verb 'Fetch' and resource 'Amazon product detail', making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: pass a full URL from 'glim_amazon_search' or any '/dp/<ASIN>' page. It also provides exclusions: bare ASIN is rejected because it's ambiguous across marketplaces. This gives clear guidance on proper usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
glim_amazon_searchAmazon SearchARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | No | Amazon marketplace: com | co.uk | de | fr | es | it | com |
| page | No | Page number (1-20) | |
| query | No | Free-text keyword query (mutually exclusive with category_slug) | |
| format | No | Output format. 'text' (default): compact human-readable view, fewer tokens. 'json': full structured data (offers[], images, variants). | text |
| sort_by | No | Server-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. | |
| min_reviews | No | Drop hits with fewer than N reviews. Pair with sort_by='most_reviewed' for a trust-weighted result. Applied client-side to organic/paid/suggested. | |
| include_paid | No | Include sponsored ad results (default: dropped) | |
| category_slug | No | Amazon bestsellers category slug, e.g. 'electronics' (.com), 'elektronik' (.de), 'electronique' (.fr). Invalid slugs return 'not_found' - retry with a correct slug. | |
| include_suggested | No | Include 'people also searched for' suggestions (default: dropped) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false. Description adds that sort_by 'most_reviewed' re-ranks client-side, explains default dropping of sponsored/suggested, and mentions error handling for invalid slugs. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is moderately long but front-loaded with the critical rule of mutual exclusivity. Every sentence adds value; no tautology. Minor redundancy in listing TLDs which are already in tld enum, but acceptable for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all important aspects: search scope, output fields, pricing details, sort options, filtering via min_reviews, format choices, drill-down direction, error handling. Despite 9 parameters and no output schema, the description is comprehensive enough for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds significant meaning: mutual exclusivity of query and category_slug, client-side re-ranking behavior for most_reviewed, pairing min_reviews with sort_by, and error handling for invalid slugs. Goes well beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it searches Amazon across multiple TLDs, returns ranked hits with specific fields (price, ratings, ASINs). Differentiates from sibling glim_amazon_get by noting drill-down capability. Verb+resource is specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Pass exactly ONE of {query} or {category_slug}.' Guides on using sort_by='most_reviewed' with min_reviews for trust-weighted re-rank. References glim_amazon_get for drill-down. Clear when-to-use and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
glim_github_getGitHub GetARead-onlyIdempotentInspect
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// -> file (raw.githubusercontent.com URLs work too), /tree/[/] -> file tree (optionally scoped to a subdirectory), /commit/ -> one commit with diff, /commits[//] -> history (optionally for one file), /branches, /releases (or /releases/tag/ | /releases/latest -> one release), /topics/ -> top repos with that topic (by stars).
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | 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). | |
| page | No | Page number | |
| format | No | Output encoding. 'text' (default): compact human-readable text, fewer tokens (file returns raw content). 'json': machine-readable JSON. | text |
| per_page | No | Results per page |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds rich behavioral context: it details what each ref type returns (e.g., paths, PR with comments, file content), and notes that format 'text' returns compact human-readable output while 'json' returns machine-readable. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single run-on sentence with many clauses separated by semicolons. It is information-dense but lacks clear structure (e.g., bullet points or sections). This makes it harder to parse quickly, though all necessary information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (many ref patterns) and lack of an output schema, the description covers all major use cases (repo metadata, PRs, issues, files, trees, commits, etc.). It does not mention rate limits or authentication, but annotations do not require it. Overall, it provides sufficient context for the agent to understand what the tool can fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have descriptions in the schema (100% coverage). The description repeats the ref parameter's purpose verbatim, adding no new semantic value. The other parameters (page, format, per_page) are already well-documented in the schema. The description does mention format details but does not surpass the schema's explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's purpose: 'Fetch GitHub data from a single ref.' It lists specific URL patterns (e.g., /pull/N, /issues/N) and distinguishes from sibling tools like glim_github_search and glim_web_fetch, leaving no ambiguity about what resource it acts on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage patterns (URL types and what they return) but does not explicitly say when to avoid this tool or prefer a sibling. The sibling tool names hint at alternatives (e.g., glim_github_search for search), but no direct 'use this for X, not Y' guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
glim_github_searchGitHub SearchARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | What 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 conversations, path:/symbol:/content://regex/ implies code, stars:/topic:/in:readme implies repos, otherwise repos. type:code / type:repos in the query also works. | |
| page | No | Page number | |
| repo | No | Scope 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 search can't scope to one repo. Equivalent to a repo: qualifier in the query (if both are given they must match). | |
| query | Yes | Search 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 parentheses, "exact strings", and /regex/. kind=repos: minimal distinctive keywords - the project/library name (GOOD: 'rtk', 'react query'; BAD: 'rtk rust token killer' - every extra word must ALL match and buries the real 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 for definitions; narrow with repo:/language:/path:, not extra words. kind=conversations: keywords plus filters (is:issue, label:bug). Caution: sort: REPLACES relevance ranking (sort:reactions = most-popular thread mentioning the words anywhere, incl. comments) - omit sort: for best-match. Not supported in code search: license:, enterprise:, is:vendored, is:generated. | |
| format | No | Output format. 'text' (default): compact human-readable previews, fewer tokens. 'json': full structured data for machine parsing. | text |
| per_page | No | Results per page |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, openWorldHint, idempotentHint, destructiveHint false. The description adds substantial behavioral context: kind inference, the effect of setting repo with kind=repos (routes to conversations), the impact of sort on relevance ranking, and unsupported qualifiers in code search. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long but every sentence adds necessary detail. Key points are front-loaded (the main purpose and search kinds). Minor redundancy (some qualifier lists repeated) could be trimmed slightly, but overall it is efficient for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters (1 required), no output schema, and complex search syntax, the description fully covers query construction per kind, kind inference, repo scoping, pagination limits, output format, and crucial caveats (sort ranking behavior, unsupported code search features). No gaps remain for an agent to safely and effectively invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant value beyond the schema. For query, it details GitHub search syntax per kind. For kind, it explains inference rules. For repo, it describes accepted formats (owner/name, URL, partial owner/) and its interaction with the search kind. For format, it clarifies 'text' vs 'json' output differences. These enrich the parameter understanding substantially.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches GitHub repositories, conversations (issues+PRs), or code, using full GitHub search syntax. It distinguishes from sibling tools (e.g., glim_web_search) by specifically targeting GitHub, and the three search kinds are explicitly enumerated and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides extensive when-to-use guidance: for each kind (repos, code, conversations) it explains query formation, filters, and limitations. It explicitly warns against using sort for best relevance, and suggests glim_github_get for full content when kind='conversations'. It also explains kind inference rules when the parameter is omitted, and the repo parameter behavior with different kinds.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
glim_reddit_getReddit GetARead-onlyIdempotentInspect
Fetch a Reddit post, subreddit, or user by ref. Posts return comments; subreddits and users return profile metadata plus recent activity.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Post ID or URL, subreddit ref (r/programming or reddit.com/r/programming), or user ref (u/spez or reddit.com/user/spez) | |
| sort | No | Listing post sort | hot |
| time | No | Listing time range | day |
| limit | No | Max subreddit posts (1-10), each with full content + top comments | |
| cursor | No | Pagination cursor from a prior subreddit response's next_cursor | |
| format | No | Output format. 'text' (default): compact human-readable view, fewer tokens. 'json': full structured data for machine parsing. | text |
| comment_sort | No | Comment sort | confidence |
| comment_depth | No | Max nesting depth | |
| comment_limit | No | Max comments | |
| include_posts | No | Include recent posts for user refs | |
| include_comments | No | Include recent comments for user refs |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark read-only, non-destructive. Description adds context: posts return comments, subreddits/users return metadata and recent activity, and mentions output format impact on tokens. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with purpose. Efficient but could incorporate a bit more guidance (e.g., pagination mention) without bloating. Still very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters and no output schema, the description covers core returns per entity type. Lacks mention of pagination cursor behavior, but schema covers it. Adequate for a get tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter described. The description does not add meaning beyond the schema; it summarizes high-level behavior. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Fetch' and the resources: Reddit post, subreddit, or user by ref. Distinguishes from sibling 'glim_reddit_search' by focusing on direct ref retrieval rather than searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for fetching specific refs, but no explicit guidance on when to use this versus alternatives like 'glim_reddit_search' or 'glim_web_fetch'. Lacks when-not-to-use or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
glim_reddit_searchReddit SearchARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort 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 only to browse what's popular in a subreddit. | relevance |
| time | No | Time range | all |
| limit | No | Max posts (1-10), each with full content + top comments | |
| query | Yes | Search query (e.g. 'subreddit:programming machine learning') | |
| cursor | No | Pagination cursor from a prior response's next_cursor | |
| format | No | Output format. 'text' (default): compact human-readable view, fewer tokens. 'json': full structured data for machine parsing. | text |
| end_date | No | Only posts before this date (YYYY-MM-DD) | |
| start_date | No | Only posts on or after this date (YYYY-MM-DD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that responses are compact human-readable text by default with json option, that each result includes top comments, and that pagination uses next_cursor. No contradiction with annotations (readOnly, openWorld, idempotent, non-destructive).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences front-loaded with purpose, then key features, sibling reference, pagination, and docs link. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters, pagination, multiple formats, and sibling tool, the description covers purpose, usage, output format, pagination mechanism, and date range. No output schema but return values are adequately described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 8 parameters with descriptions (100% coverage). The description adds value by explaining the rich result structure (full content + top comments) and that format='text' saves tokens, going beyond schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Search Reddit posts' and explains that results include full content and top comments, distinguishing it from sibling glim_reddit_get for a single post's comment tree.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly suggests when to use glim_reddit_get instead, advises on sort orders (keep 'relevance' for queries, use 'top'/'hot' for browsing), and explains pagination with cursor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
glim_twitter_getFetch Tweet or UserARead-onlyIdempotentInspect
Fetch a tweet or a user from one reference. A tweet URL (incl. handle-less /i/status/) returns the tweet with full thread context, parent, and optional replies/quotes; a profile URL (https://x.com/) 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.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Tweet 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 numeric id, pass it as a quoted string. | |
| cursor | No | Profile refs only: pagination cursor from next_cursor | |
| format | No | Output format. 'text' (default): compact human-readable view, fewer tokens. 'json': full structured data for machine parsing. | text |
| include | No | Tweet refs only: also fetch 'replies' and/or 'quotes' | |
| expand_urls | No | When 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. | |
| include_replies | No | Profile refs only: include replies in the timeline | |
| include_mentions | No | Profile refs only: include the mentions timeline |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds rich behavioral context: default output is compact human-readable, format='json' for structured data, expand_urls warning about size, pagination via cursor, and inclusion filters for replies/quotes. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with core purpose, followed by specific usage instructions and format options. No wasted words; every sentence contributes essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main functionality, input types, output formats, and a key caveat (expand_urls size impact). However, it does not describe the structure of the compact view or the shape of returned data, which would be helpful given the lack of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the two types of 'ref' and what they return, and why expand_urls is off by default. However, most parameter details are already adequately covered in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches a tweet or user from a reference, distinguishing between tweet URLs (returning tweet with thread context) and profile URLs (returning user with recent tweets). This specificity and differentiation from sibling tools like glim_twitter_search makes purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear guidance on using full URLs over numeric ids and how to handle ids as quoted strings. However, it does not explicitly exclude usage patterns like searching or compare directly with siblings, leaving some implicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
glim_twitter_searchTwitter SearchARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort 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". | |
| query | Yes | Search query with operators (e.g. 'from:elonmusk AI min_faves:100 within_time:7d') | |
| cursor | No | Pagination cursor from previous search | |
| format | No | Output format. 'text' (default): compact human-readable view, fewer tokens. 'json': full structured data for machine parsing. | text |
| end_date | No | Only 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) | |
| start_date | No | Only 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) | |
| expand_urls | No | When 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent behavior. The description adds that the default output is a compact human-readable list and that JSON format is available. It also links to related tools and docs, providing useful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each serving a distinct purpose: state function, explain output format and alternatives, and point to documentation. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters all documented in schema, no output schema, and strong annotations, the description covers key usage aspects: output format choice, related tool linkage, and documentation reference. It could mention pagination slightly, but the cursor parameter is in schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description doesn't need to add much. It adds context about default format and the ability to use operators, but doesn't explain parameter syntax beyond what the schema already provides. Baseline 3 with minor increment for the format hint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches Twitter/X and differentiates from sibling glim_twitter_get by noting that tool is for full thread context. The verb 'Search' and resource 'Twitter/X' are specific, and it also mentions using documented operators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly suggests using glim_twitter_get for full thread context and references docs for operators, providing clear alternatives. It doesn't explicitly state when not to use this tool, but the context is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
glim_web_fetchWeb FetchARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to fetch | |
| format | No | Output format. 'markdown' (default) clean article text; 'html' raw cleaned HTML; 'json' the structured SSR blob (TikTok / Pinterest / YouTube) instead of article text. | markdown |
| selector | No | CSS selector to scope extraction |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses extensive behavioral traits beyond annotations: auto-tier server-side handling (SSR, SPA, PDFs, paywall detection, residential-proxy escalation, stealth profiles for certain sites), outcome classification values, truncation behavior with download_full_url, and unsupported targets. All align with readOnly/idempotent annotations; no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then provides detailed behavioral information in a structured manner. It is slightly long but every sentence adds value, covering important nuances without extraneous content. Concise for the amount of information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of web fetching (varied site handling, paywall detection, outcome classification), the description covers essential aspects: return format, outcome values, truncation, unsupported targets. It does not detail response size limits or rate limiting, but these are implied by the truncation mention. Sufficiently complete for agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all three parameters described). The description adds significant value beyond schema by explaining the effect of the 'format' parameter (e.g., 'json' returns structured SSR blob for TikTok/Pinterest/YouTube), the presence of YAML frontmatter in output, and the truncation mechanism. Baseline 3 plus extra value justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches a single web page and extracts clean content, with specific verb+resource. It distinguishes from siblings (platform-specific get/search tools and web search) by being a general fetch tool. The extensive details on supported sites and auto-tier processing further clarify its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists unsupported targets (e.g., Bluesky search, Instagram post/reel) but does not explicitly state when to use this tool versus sibling tools like glim_web_search or platform-specific get tools. Usage is implied for any URL not covered by specialized tools; no positive 'when to use' guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
glim_web_searchWeb SearchARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| format | No | Output format. 'text' (default): compact human-readable list, fewer tokens. 'json': full structured data incl. the highlights array per result. | text |
| exclude_domains | No | Exclude 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']). | |
| include_domains | No | Restrict results to these domains (e.g. ['arxiv.org']) | |
| published_within_days | No | Restrict 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, openWorld, idempotent, and non-destructive behavior. The description adds useful context on default compact text output and the option for full JSON data, and clarifies that return includes only top excerpt per result by default.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse sentences plus a cross-reference to sibling tool. Every word adds value, no redundancy. Front-loaded with the core action and return type.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains what results contain (titles, URLs, excerpts) and format options. Missing details like result count or pagination, but acceptable for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions. The description adds value by explaining the practical difference between text and JSON formats beyond the schema's enum definition, and gives usage context for exclude_domains (noisy aggregators).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: semantic web search returning titles, URLs, and excerpts. It distinguishes from sibling tools like glim_web_fetch for full page content and mentions format options for structured data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly suggests using glim_web_fetch for full page content, which guides when not to use this tool. Does not elaborate on when to prefer this over other domain-specific search siblings, but the sibling names imply that this is for general web searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
glim_youtube_getYouTube TranscriptARead-onlyIdempotentInspect
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 structured metadata 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.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | YouTube video URL or 11-char video id (e.g. https://youtu.be/dQw4w9WgXcQ, https://www.youtube.com/watch?v=dQw4w9WgXcQ, or dQw4w9WgXcQ) | |
| format | Yes | Output 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 structured metadata and a presigned download_url - for batch/programmatic use. Both formats return the identical cleaned, deduplicated transcript. | text |
| origin | No | 'uploader_provided' for human captions (default), 'auto_generated' for YouTube auto-captions. | uploader_provided |
| language_code | No | ISO 639-1 language code (e.g. 'en', 'de', 'fr') | en |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes far beyond annotations: it details server-side cleaning, deduplication, tagging stripping, timestamp format, size reduction (~1/10th), inline vs download_url behavior for long videos, fallback from uploader_provided to auto_generated (with API call counting), and 7-day caching. No contradiction with annotations (readOnlyHint, idempotentHint, etc.).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three sentences) and front-loaded with the primary purpose. Each sentence contributes unique information: fetching and cleaning, format behavior, origin fallback and caching. No redundant or extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description fully explains the two possible return types (inline text or download_url note for 'text'; structured metadata + download_url for 'json'). It also covers caching and API call counting. All behavioral aspects a developer would need to invoke and interpret the tool are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage, so baseline is 3. The description adds value by explaining the behavioral implications of the 'format' parameter (inline limit, download_url note) and the fallback behavior for 'origin', which are not in the schema descriptions. This enriches understanding beyond the schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches a YouTube video transcript from a URL or ID. It distinguishes from sibling tools which target other platforms (Amazon, GitHub, etc.), leaving no ambiguity about what resource this tool accesses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (to get video transcripts) and contrasts the two formats (text vs json) with clear use cases. It does not explicitly state when not to use it, but the sibling context makes exclusion obvious. A slight gap is not listing non-YouTube sources as out of scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!