Stophy
Server Details
YouTube data MCP server for AI agents. Search YouTube, fetch transcripts, read comments and replies, inspect channels, analyze playlists, and retrieve video details through Stophy’s hosted API.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
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.4/5 across 8 of 8 tools scored. Lowest: 3.7/5.
Each tool targets a distinct YouTube data operation: channel browsing, playlist retrieval, video details, search, autocomplete, Kids, Music, and credits. The descriptions clearly differentiate them, and there is no overlapping functionality that would confuse an agent.
All tools share a 'stophy_' prefix, but naming conventions are inconsistent: most use 'get_<noun>' (e.g., get_channel, get_video), but 'search_videos' uses 'search' and 'kids' and 'music' are bare nouns. This mixed pattern reduces predictability.
With 8 tools, the server covers the main YouTube interactions without being bloated. Each tool serves a clear purpose, and the count feels well-scoped for a YouTube data retrieval server.
The tool set covers video details (including transcript, comments, live chat), channel browsing, playlists, search, autocomplete, Kids, and Music. While write operations (like, comment) are absent, the server's focus on read operations is clear and mostly complete.
Available Tools
8 toolsstophy_get_channelARead-onlyInspect
Browse a YouTube channel's content. Returns channel{id, name, handle, subscriberCount, videoCount, isVerified, thumbnails} on every tab. tab options: video, short, live (past live streams), playlist, post (community posts), about. Video and live tabs return items[{id, videoUrl, title, author, publishedAt, thumbnails}]; the short tab returns items with shortUrl instead of videoUrl (no publishedAt); the playlist tab returns items[{id, playlistUrl, title, videoCount, thumbnails}]. All of these paginate with continuationToken. The post tab returns items[{id, url, content, publishedTimeText, likeCountText, commentCountText, images, video}]. About tab returns the full profile including country, joinedDate, viewCount, and links[]. Set query to search within the channel (returns matching videos; tab is ignored). Best for: auditing a creator's catalog, pulling all videos from a channel, finding a channel's video on a topic, reading community posts or the channel description. Not recommended for: fetching a single known video. Use stophy_get_video instead.
| Name | Required | Description | Default |
|---|---|---|---|
| tab | No | Which channel tab to read: video, short, live (past live streams), playlist, community (posts), course, or about | video |
| query | No | Search within this channel. When set, returns the channel's videos matching the query and the tab is ignored | |
| sortBy | No | Sort order for the tab | |
| channelUrl | Yes | Channel URL (e.g. https://youtube.com/@handle) | |
| continuationToken | No | Pagination token from a previous channel response |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior. The description adds valuable behavioral details: return structures per tab, pagination with continuationToken, query overrides tab, and field differences between tabs (e.g., short tab returns shortUrl, no publishedAt). This goes beyond the 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 organized with a clear initial statement, then tab-specific return structures, then usage guidance. While fairly long, the structure is logical and each sentence adds necessary detail. Slightly verbose but not redundant.
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 complexity (multiple tabs, pagination, interactions between query and tab), the description is comprehensive. It covers all tab options, their return structures, edge cases (e.g., short tab missing publishedAt), pagination, and the search behavior. No output schema exists, but return types are fully 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 coverage is 100%, so the schema already documents parameters. However, the description adds context: how 'query' overrides the tab, the default value for 'tab' (video), and the meaning of enumeration values like 'community' vs 'post'. The explanation of pagination via continuationToken adds value 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?
The description opens with 'Browse a YouTube channel's content' and enumerates exactly what is returned per tab. It distinguishes itself from sibling tools by stating 'Not recommended for: fetching a single known video. Use stophy_get_video instead.'
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 lists best use cases (auditing a creator's catalog, pulling all videos, finding a video on a topic, reading community posts) and explicitly tells when not to use it (fetching a single known video) with a clear alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stophy_get_creditsARead-onlyInspect
Check your remaining Stophy API credit balance. Returns {credits: number}. Does not consume a credit. Use before running large batch jobs to confirm you have enough credits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide read-only hint; description adds that it does not consume a credit and returns a specific shape, enhancing 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?
Two concise sentences: first states purpose and return, second gives usage advice. Perfectly front-loaded and 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?
For a zero-parameter tool with no output schema, the description covers purpose, usage context, return shape, and non-destructive nature. Fully complete.
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?
No parameters, so description's role is minimal. It correctly describes the function and return value, adding value 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?
The description clearly states the action ('Check your remaining Stophy API credit balance') and mentions the return type. It distinguishes from sibling tools which retrieve different resources.
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 advises using before large batch jobs, and notes that it does not consume a credit. Lacks explicit when-not-to-use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stophy_get_playlistARead-onlyInspect
Get all videos in a YouTube playlist. Returns playlist{id, playlistUrl, title, author, description, videoCount} and items[{id, videoUrl, title, author, publishedAt, thumbnails}] with continuationToken. Best for: processing curated collections, course playlists, or a channel's uploads playlist.
| Name | Required | Description | Default |
|---|---|---|---|
| playlistUrl | Yes | Playlist URL (e.g. https://youtube.com/playlist?list=PLAYLIST_ID) | |
| continuationToken | No | Pagination token from a previous playlist response |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is clear. The description adds value by detailing the response structure (playlist object and items with continuationToken) and implying pagination, which supplements the 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 consists of two focused sentences: one stating the core function and return structure, the other giving usage guidance. No extraneous words, and key information is front-loaded.
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?
For a read-only tool with only two parameters and no output schema, the description fully covers purpose, return types, pagination, and typical use cases. It is sufficient for an AI to understand and invoke the tool 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%, so the input schema already describes both parameters. The description adds a concrete example URL for playlistUrl and mentions the continuationToken in the response, providing marginal extra context beyond 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 explicitly states 'Get all videos in a YouTube playlist' and lists the return structure, clearly identifying the verb and resource. It also suggests best use cases like 'processing curated collections, course playlists, or a channel's uploads playlist,' which adds specificity.
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 a 'Best for' hint, indicating when to use the tool (e.g., course playlists), but does not explicitly state when not to use it or mention alternatives. No exclusions or comparisons to sibling tools are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stophy_get_suggestionsARead-onlyInspect
Get YouTube search autocomplete suggestions for a query. Returns {suggestions: string[]}. Optionally set hl (language, e.g. en) and gl (country, e.g. US). Best for: expanding a seed query into related search phrases, gathering keyword ideas, or seeing what people search for around a term before calling stophy_search_videos.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query | |
| gl | No | Country code, e.g. US, GB, DE. Defaults to US | |
| hl | No | Language code, e.g. en, fr, de. Defaults to en |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that the tool returns autocomplete suggestions and optionally accepts hl and gl parameters. No contradictions or additional behavioral disclosures needed beyond this.
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 two sentences: a clear statement of function and a front-loaded usage guidance. No extraneous 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?
For a simple tool with 3 parameters and a list return type, the description fully covers purpose, usage, and parameter roles. The absence of an output schema is compensated by stating the return format.
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 for all three parameters. The description briefly reiterates optional hl and gl with examples, but adds minimal new meaning beyond 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 the tool gets YouTube search autocomplete suggestions for a query and specifies the return type as {suggestions: string[]}. It also distinguishes from sibling 'stophy_search_videos' by noting it's best for expanding seed queries.
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 explicitly says 'Best for: expanding a seed query into related search phrases, gathering keyword ideas, or seeing what people search for around a term before calling stophy_search_videos,' providing clear context and mentioning an alternative sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stophy_get_videoARead-onlyInspect
Fetch details, transcript, comments, comment replies, or live chat for a YouTube video. type="details": returns video{id, title, author, description, viewCount, likeCount, durationSec, publishedAt, tags, isLive} and related[]. type="transcript": returns {videoId, language{code, name, isAutoGenerated}, isTranslated, availableTracks, segments[{text, start, duration}], text}; if the requested lang has no native track, a machine translation is returned along with a top-level warning. type="comments": returns {videoId, sortBy, items[{id, text, author, likeCount, replyCount, repliesToken}], continuationToken}. type="replies": pass the repliesToken of a comment as continuationToken to fetch its replies. type="livechat": returns {videoId, status (live|upcoming|replay|chat_disabled|not_live), isLive, concurrentViewers, messages[{id, text, author, authorId, timestampUsec, isOwner, isModerator, isVerified, superChatAmount, superChatCurrency}], continuationToken, pollIntervalMs}. Set chatType="top" for moderated Top chat (default) or "live" for all messages. To follow a live stream, poll again passing the previous continuationToken for only new messages, waiting pollIntervalMs between polls; a null continuationToken means the stream ended. Best for: extracting content from a known video URL. Not recommended for: discovering videos. Use stophy_search_videos instead.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | For transcript only: BCP-47 language code (e.g. en, es, fr, pt-BR). Returns that caption track if it exists, otherwise a machine translation of the default track into that language. Omit for the video's original/auto captions. | |
| type | Yes | What to fetch: details = title/description/stats, transcript = timestamped captions, comments = threaded comments, replies = replies to a comment, livechat = live stream chat messages + status | |
| sortBy | No | Sort order for comments: any (YouTube's default ordering), top, or latest. Defaults to any | |
| chatType | No | For livechat only: 'top' = Top chat (moderated, default), 'live' = Live chat (all messages). Applied on the first call; later polls keep the chosen mode. | |
| videoUrl | No | YouTube video URL (e.g. https://youtube.com/watch?v=VIDEO_ID). Required for details, transcript, comments, and livechat. | |
| continuationToken | No | Pagination token. For comments, pass a previous comments response token. For replies, pass the repliesToken of a comment. For livechat, pass the continuationToken from a previous livechat response to poll for new messages. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly=true and destructive=false. The description adds valuable behavioral context: for transcript, it warns about machine translation fallback with a top-level warning; for livechat, it explains polling, continuationToken null meaning end, and chatType behavior. 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 structured with a clear overview, then per-type details, then usage summary. Every sentence adds value without redundancy. It is front-loaded with the core purpose.
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 (6 parameters, 5 data types) and no output schema, the description thoroughly covers return structures, special behaviors, and usage patterns (e.g., polling for livechat). It is self-sufficient for an agent to use 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?
All parameters have descriptions in the schema (100% coverage). The description enriches semantics: explains lang fallback behavior, clarifies each type enum, and details continuationToken usage across contexts (comments, replies, livechat).
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 starts with a clear verb and resource: 'Fetch details, transcript, comments, comment replies, or live chat for a YouTube video.' It explicitly distinguishes from siblings by stating 'Best for: extracting content from a known video URL' and directing to stophy_search_videos for discovery.
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 explicit when-to-use and when-not-to-use guidance, including a direct alternative ('Use stophy_search_videos instead'). It also details usage per type (e.g., polling instructions for livechat) and prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stophy_kidsARead-onlyInspect
type="search": search YouTube Kids with q and optional continuationToken, returns Kids-safe video items and continuationToken. type="video": fetch YouTube Kids video metadata and related Kids videos from videoUrl. Best for: child-safe discovery and metadata from the YouTube Kids surface.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | YouTube Kids search query | |
| type | Yes | Kids resource to fetch | |
| videoUrl | No | YouTube Kids / YouTube video URL or bare video ID | |
| continuationToken | No | Pagination token from a previous response |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds that it returns 'Kids-safe video items and continuationToken' and 'video metadata and related Kids videos', which gives helpful context beyond 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 relatively concise but suffers from poor formatting (e.g., 'type="search":' embedded in text). It could be restructured for clarity without adding length.
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 (two modes, pagination) and the absence of an output schema, the description adequately covers return types (video items, continuationToken, metadata, related videos). It provides sufficient context for the agent to use the tool appropriately.
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%, providing a baseline of 3. The description adds meaning by explaining that 'q' is a search query, 'continuationToken' is for pagination, and 'videoUrl' is for fetching video metadata. This surpasses the schema's basic descriptions.
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 identifies two modes (search and video) and states the resource is YouTube Kids. It distinguishes from sibling tools by specifying 'child-safe discovery'. However, the embedded code-like formatting slightly obscures the 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 states it's 'best for child-safe discovery and metadata' but does not explicitly mention when not to use it or provide alternatives among siblings. Some guidance is implied but not fully articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stophy_musicARead-onlyInspect
type="search": search YouTube Music with q and optional searchType (song|video|album|artist|playlist|podcast|episode|profile), returns items[] and continuationToken. type="suggest": autocomplete music queries with q. type="song": fetch rich song metadata from videoUrl. type="lyrics": fetch lyrics from videoUrl. type="album": fetch album metadata and tracks from albumUrl. type="artist": fetch artist profile sections from artistUrl. type="playlist": fetch playlist tracks from playlistUrl and optional continuationToken.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search or suggestion query | |
| type | Yes | Music resource to fetch | |
| albumUrl | No | YouTube Music album URL or bare MPRE/OLAK album ID | |
| videoUrl | No | YouTube / YouTube Music video URL or bare video ID | |
| artistUrl | No | YouTube Music artist URL or bare UC/MPAD artist ID | |
| searchType | No | Music search result type. Defaults to song | song |
| playlistUrl | No | YouTube / YouTube Music playlist URL or bare playlist ID | |
| continuationToken | No | Pagination token from a previous response |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. It adds behavioral details like return structures ('items[] and continuationToken', 'rich song metadata'), which are not in the 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 structured as a clear list of modes, each with its purpose and required parameters. It is front-loaded with the key information. While lengthy, every sentence adds value for the complexity of eight modes.
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 (8 types, 8 parameters, no output schema), the description adequately covers each type's purpose and required inputs. It lacks details on error handling or response formats beyond brief mentions, but is sufficient for a read-only 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 description coverage is 100%, so the schema already documents all parameters. The description does not add new semantic meaning beyond mapping parameters to types (e.g., 'use videoUrl for type=song'). Baseline 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?
The description clearly states the tool's purpose as a multi-mode YouTube Music interface, listing each type and what it does. However, it does not explicitly differentiate from sibling tools like stophy_get_playlist, which may cause overlap confusion.
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 explicit instructions for each type, indicating which parameters are required (e.g., 'type='song': fetch rich song metadata from videoUrl'). It does not mention when to avoid using this tool or suggest alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stophy_search_videosARead-onlyInspect
Search YouTube by keyword with optional filters. Returns items[] discriminated by type: video items have {id, videoUrl, title, author, description, duration, durationSec, viewCount, publishedAt, isLive, thumbnails}; short items have {id, shortUrl, title, viewCount, thumbnails}; channel items have {id, channelUrl, name, handle, subscriberCount, thumbnails}; playlist items have {id, playlistUrl, title, author, videoCount, thumbnails}. Also returns continuationToken for the next page. Best for: discovering videos on a topic, finding recent uploads. Not recommended for: fetching a specific video you already have the URL for. Use stophy_get_video instead.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query | |
| type | No | Filter by content type | |
| sortBy | No | Sort order. Defaults to relevance | |
| duration | No | short = under 4 min, medium = 4 to 20 min, long = over 20 min | |
| features | No | Filter by video features | |
| uploadDate | No | Filter by upload date | |
| continuationToken | No | Pagination token from a previous search response |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false. Description adds detailed return structure for each item type and explains pagination via continuationToken, which is beyond what annotations provide. No contradiction.
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 fairly long but well-structured, front-loading the main action and then detailing return types. Every sentence is informative, though could be slightly more 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?
With 7 parameters fully described in schema and no output schema, description compensates by thoroughly explaining return shapes and pagination. No critical missing information 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 description coverage is 100%, so baseline is 3. Description adds minimal extra parameter info beyond schema, but mentions continuationToken in context. Overall, parameters are well-documented in schema already.
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?
Description clearly states 'Search YouTube by keyword with optional filters' and lists return types discriminated by type. It explicitly distinguishes from sibling tool stophy_get_video, saying 'Not recommended for: fetching a specific video you already have the URL for. Use stophy_get_video instead.'
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?
Description provides explicit usage guidance: 'Best for: discovering videos on a topic, finding recent uploads. Not recommended for: fetching a specific video you already have the URL for. Use stophy_get_video instead.' This clearly states when to use and when not to use with alternative tool.
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!