Reddit MCP Server
Provides comprehensive tools for fetching, analyzing, and creating Reddit content including user analysis, content discovery, subreddit insights, post creation, and community engagement through Reddit's API
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Reddit MCP Servershow me the top posts from r/technology this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Reddit MCP Server 🚀
A powerful Model Context Protocol (MCP) server that provides comprehensive tools for fetching, analyzing, and creating Reddit content. Built with TypeScript and designed for seamless integration with AI assistants like Claude Desktop and Cursor.
🌟 Features
📖 Read-Only Tools (Client Credentials Only)
User Analysis:
get_user_info,get_user_posts,get_user_comments,get_user_activityContent Discovery:
get_top_posts,search_posts,search_subredditsSubreddit Insights:
get_subreddit_info,get_trending_subredditsDirect Access:
get_comment,get_submission,get_comments_by_submission
✍️ Write Tools (User Authentication Required)
Content Creation:
create_post- Create optimized posts with engagement insightsCommunity Engagement:
reply_to_post- Add thoughtful replies with context analysis
Related MCP server: Reddit MCP Server
🚀 Quick Start
Prerequisites
Node.js 18+
npm or yarn
Reddit API credentials
Installation
Clone the repository
git clone https://github.com/yourusername/reddit-mcp-server.git
cd reddit-mcp-serverInstall dependencies
npm installSet up Reddit API credentials
Go to Reddit App Preferences
Click "Create App" or "Create Another App"
Select "script" as application type
Fill in the required information
Copy your Client ID and Client Secret
Configure environment variables
cp .env.example .env
# Edit .env with your Reddit API credentialsBuild and test
npm run build
npm run dev🔧 Configuration
Environment Variables
Create a .env file in the root directory:
# Required: Reddit API Configuration
REDDIT_CLIENT_ID=your_client_id_here
REDDIT_CLIENT_SECRET=your_client_secret_here
REDDIT_USER_AGENT=RedditMCPServer/1.0.0
# Optional: For write operations (posts, comments)
REDDIT_USERNAME=your_reddit_username
REDDIT_PASSWORD=your_reddit_passwordOperating Modes
🔍 Read-Only Mode
Required:
CLIENT_ID,CLIENT_SECRET,USER_AGENTCapabilities: Search, read posts, analyze users and subreddits
Limitations: Cannot create posts or comments
📝 Full Mode
Required: All credentials above
Capabilities: All read operations + post creation and commenting
🛠️ Integration with AI Assistants
Claude Desktop / Cursor Configuration
Add this to your MCP configuration file:
{
"mcpServers": {
"reddit": {
"command": "node",
"args": ["/path/to/reddit-mcp-server/build/index.js"],
"env": {
"REDDIT_CLIENT_ID": "your_client_id",
"REDDIT_CLIENT_SECRET": "your_client_secret",
"REDDIT_USER_AGENT": "RedditMCPServer/1.0.0",
"REDDIT_USERNAME": "your_username",
"REDDIT_PASSWORD": "your_password"
},
"autoApprove": [
"test_reddit_mcp_server",
"get_reddit_post",
"get_top_posts",
"get_user_info",
"get_subreddit_info",
"get_trending_subreddits",
"get_comment",
"get_comments_by_submission",
"get_submission",
"get_subreddit",
"search_posts",
"search_subreddits",
"get_user_posts",
"get_user_comments",
"get_user_activity",
"create_post",
"reply_to_post"
]
}
}
}📚 Available Tools
User Analysis
get_user_info(username)- Comprehensive user profile analysis with engagement insightsget_user_posts(username, sort?, limit?)- User's post history with sorting optionsget_user_comments(username, sort?, limit?)- User's comment history with analysisget_user_activity(username, limit?)- Complete activity analysis and patterns
Content Discovery
get_top_posts(subreddit, time_filter?, limit?)- Top posts from subreddit with time filteringsearch_posts(subreddit, query, sort?, limit?)- Advanced search within specific subredditssearch_subreddits(query, limit?)- Discover subreddits by name or description
Subreddit Tools
get_subreddit_info(subreddit_name)- Detailed subreddit analysis and community insightsget_trending_subreddits()- Currently trending subreddits across Reddit
Direct Access
get_comment(comment_id)- Retrieve specific comment with detailed analysisget_submission(submission_id)- Complete submission details with metadataget_comments_by_submission(submission_id, limit?)- All comments from a specific post
Content Creation (Requires Authentication)
create_post(subreddit, title, content, is_self?)- Create new posts with optimizationreply_to_post(post_id, content, subreddit?)- Reply to existing posts with context
🧪 Testing
Test your configuration:
# Build the project
npm run build
# Start development server with inspector
npm run dev
# Run in production mode
npm startThe development server will start an inspector at http://127.0.0.1:6274/ where you can test all tools interactively.
🔒 Security & Privacy
✅ Environment variables are properly configured in
.gitignore✅ No credentials are hardcoded in the source code
✅ Secure Reddit API authentication flow
✅ Read-only mode available for enhanced security
✅ Comprehensive input validation and error handling
📦 Dependencies
@modelcontextprotocol/sdk: ^1.11.3 - MCP protocol implementation
axios: ^1.9.0 - HTTP client for Reddit API interactions
dotenv: ^16.5.0 - Environment variable management
TypeScript: ^5.8.3 - Type-safe development environment
🤝 Contributing
We welcome contributions! Please follow these steps:
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
📄 License
This project is licensed under the ISC License - see the LICENSE file for details.
🙏 Acknowledgments
Inspired by the Python Reddit MCP Server by Arindam200
Built following Eugene Sh's MCP Server Tutorial
Extended with additional tools for enhanced Reddit interaction capabilities
Thanks to the MCP community for feedback and contributions
📞 Support
If you encounter any issues or have questions:
Check the Issues page
Create a new issue with detailed information about your problem
Include your environment details and error messages
Join the discussion in our community
🚀 Roadmap
Add support for Reddit's new API features
Implement caching for improved performance
Add more advanced analytics tools
Support for Reddit Collections
Enhanced error handling and retry mechanisms
Made with ❤️ for the MCP community
Star this repository if you find it useful!
Available Tools
17 toolscreate_postC
Create a new post in a subreddit
| Name | Required | Description | Default |
|---|---|---|---|
| subreddit | Yes | Name of the subreddit to post in | |
| title | Yes | Title of the post | |
| content | Yes | Content of the post (text for self posts, URL for link posts) | |
| is_self | No | Whether this is a self (text) post (true) or link post (false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions creation but fails to describe critical behaviors like authentication requirements, rate limits, error conditions (e.g., invalid subreddit), or what happens upon success (e.g., returns a post ID). This leaves significant gaps for an agent to understand how to use it safely and effectively.
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, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy for an agent to parse quickly.
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 a creation tool with no annotations and no output schema, the description is inadequate. It doesn't cover behavioral aspects like authentication, error handling, or return values, leaving the agent with insufficient information to use the tool correctly in context.
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 thoroughly. The description adds no additional meaning beyond implying 'subreddit' and 'post' context, which is minimal value. Baseline 3 is appropriate as the schema does the heavy lifting.
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 ('Create') and target resource ('new post in a subreddit'), making the purpose immediately understandable. However, it doesn't distinguish this tool from potential alternatives like 'reply_to_post' or specify what type of post (text vs. link) beyond what the schema indicates, preventing a perfect score.
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 no guidance on when to use this tool versus alternatives like 'reply_to_post' or 'search_reddit', nor does it mention prerequisites such as authentication or subreddit permissions. It simply states what the tool does without contextual usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_commentC
Accéder à un commentaire spécifique
| Name | Required | Description | Default |
|---|---|---|---|
| comment_id | Yes | L'ID du commentaire à récupérer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'access' but doesn't disclose behavioral traits such as whether this is a read-only operation, requires authentication, has rate limits, or what the return format might be. The description is minimal and lacks necessary context for safe and effective use.
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, efficient sentence in French, front-loaded with the core action. It's appropriately sized for a simple tool, with no wasted words, though it could be slightly more informative without losing conciseness.
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 low complexity (1 parameter, no output schema, no annotations), the description is incomplete. It doesn't explain what 'access' means operationally, the expected return value, or how it fits among sibling tools. For a basic retrieval tool, more context is needed to ensure proper use.
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?
The input schema has 100% description coverage, with 'comment_id' clearly documented as 'L'ID du commentaire à récupérer' (The ID of the comment to retrieve). The description adds no additional meaning beyond the schema, as it doesn't elaborate on parameter usage or constraints. Baseline 3 is appropriate since the schema does the heavy lifting.
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 'Accéder à un commentaire spécifique' (Access a specific comment) states a clear verb ('access') and resource ('comment'), but it's vague about what 'access' entails—it could mean retrieve, view, or fetch. It doesn't differentiate from siblings like 'get_user_comments' or 'get_comments_by_submission', which are related but not identical.
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?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't specify that this is for a single comment by ID, unlike 'get_user_comments' for multiple comments by user or 'get_comments_by_submission' for comments on a submission. The description implies usage for a specific comment but offers no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_comments_by_submissionC
Accéder aux commentaires d'une soumission
| Name | Required | Description | Default |
|---|---|---|---|
| submission_id | Yes | L'ID de la soumission | |
| limit | No | Nombre de commentaires à récupérer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Accéder aux' implies a read operation, it doesn't specify whether this requires authentication, has rate limits, returns paginated results, or what format the comments come in. For a tool with zero annotation coverage, this leaves significant behavioral questions unanswered.
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, efficient French phrase that communicates the core purpose without any wasted words. It's appropriately sized for a simple retrieval tool and gets straight to the point with no unnecessary elaboration.
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 tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns (comment objects, just text, metadata?), whether results are paginated, or any error conditions. Given the lack of structured information elsewhere, the description should provide more context about the operation's behavior and results.
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?
The description doesn't add any parameter information beyond what's already in the schema, which has 100% coverage. The schema fully documents both parameters (submission_id and limit with default), so the baseline score of 3 is appropriate since the schema does all the parameter documentation work.
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 verb ('Accéder aux' - access) and resource ('commentaires d'une soumission' - comments of a submission), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_comment' or 'get_user_comments', which could retrieve similar data through different mechanisms.
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 no guidance on when to use this tool versus alternatives like 'get_comment' or 'get_user_comments'. There's no mention of prerequisites, context requirements, or comparison with sibling tools that might retrieve similar data through different parameters or scopes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reddit_postC
Get a Reddit post
| Name | Required | Description | Default |
|---|---|---|---|
| subreddit | Yes | The subreddit to fetch posts from | |
| post_id | Yes | The ID of the post to fetch |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get a Reddit post' implies a read-only operation, but it doesn't specify authentication requirements, rate limits, error handling, or what data is returned (e.g., title, body, upvotes). For a tool with zero annotation coverage, this leaves critical behavioral aspects undocumented.
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 extremely concise ('Get a Reddit post')—a single sentence with no wasted words. It's front-loaded with the core action. However, this brevity comes at the cost of completeness, as it omits necessary context for effective tool selection and use.
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 moderate complexity (2 required parameters, no output schema, and no annotations), the description is incomplete. It doesn't address return values, error cases, or how it differs from siblings. While the schema covers parameters, the lack of behavioral and contextual information makes this inadequate for a tool in a server with many similar alternatives.
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%, with clear descriptions for both parameters ('post_id' and 'subreddit'). The description adds no additional meaning beyond what the schema provides—it doesn't explain parameter relationships (e.g., that 'post_id' might be relative to 'subreddit') or usage nuances. With high schema coverage, the baseline score 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?
The description 'Get a Reddit post' clearly states the verb ('Get') and resource ('Reddit post'), making the basic purpose understandable. However, it doesn't differentiate this tool from similar siblings like 'get_post_comments' or 'get_top_posts', which also retrieve Reddit content. The description is functional but lacks specificity about what exactly is retrieved (e.g., post metadata, content, or both).
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 no guidance on when to use this tool versus alternatives. With siblings like 'get_post_comments' (for comments), 'get_top_posts' (for popular posts), and 'search_reddit' (for broader searches), there's no indication that this tool is specifically for fetching a single post by ID. The agent must infer usage from the parameter names alone, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_submissionC
Accéder à une soumission
| Name | Required | Description | Default |
|---|---|---|---|
| submission_id | Yes | L'ID de la soumission à récupérer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'access a submission', which implies a read operation but fails to detail critical traits like whether it's safe (non-destructive), requires authentication, has rate limits, or what the return format includes (e.g., submission data, error handling). This leaves the agent with insufficient information about how the tool behaves.
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, concise phrase ('Accéder à une soumission') that is front-loaded and wastes no words. However, it is overly brief to the point of under-specification, lacking necessary details for effective tool use. While efficient in structure, it sacrifices completeness for brevity.
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 (a read operation with one parameter) and the absence of annotations and output schema, the description is incomplete. It does not explain what 'access' entails, the return values, or behavioral aspects like safety or authentication needs. For a tool in a Reddit context with multiple siblings, more context is required to guide the agent adequately.
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?
The input schema has 100% description coverage, with the single parameter 'submission_id' clearly documented as 'L'ID de la soumission à récupérer' (The ID of the submission to retrieve). The description adds no additional meaning beyond this, such as format examples or constraints. Given the high schema coverage, a baseline score of 3 is appropriate as the schema adequately handles parameter semantics.
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 'Accéder à une soumission' (Access a submission) is a tautology that essentially restates the tool name 'get_submission' in French. It provides a vague purpose without specifying what 'access' entails (e.g., retrieve details, view content, fetch metadata) or distinguishing it from sibling tools like 'get_reddit_post' or 'get_comments_by_submission'. This lack of specificity makes it minimally informative.
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 offers no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing a valid submission_id), exclusions, or comparisons to siblings such as 'get_reddit_post' or 'get_comments_by_submission', leaving the agent without context for selection. This absence of usage instructions is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_subredditC
Accéder à un subreddit par nom
| Name | Required | Description | Default |
|---|---|---|---|
| subreddit_name | Yes | Le nom du subreddit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the action but doesn't disclose behavioral traits such as whether this is a read-only operation, requires authentication, has rate limits, or what the return format looks like. This is inadequate for a tool with no annotation coverage.
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, efficient sentence with zero waste. It's appropriately sized and front-loaded, clearly stating the tool's purpose without unnecessary elaboration.
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 annotations and no output schema, the description is incomplete. It doesn't explain what 'Accéder à' entails (e.g., returns subreddit details, posts, or metadata) or address behavioral aspects, leaving significant gaps for the agent to understand the tool's full context.
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 input schema fully documents the parameter 'subreddit_name'. The description adds no additional meaning beyond what the schema provides, such as format examples or constraints, meeting the baseline for high schema coverage.
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 ('Accéder à') and resource ('un subreddit par nom'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_subreddit_info' or 'search_subreddits', which likely serve similar purposes but with different scopes or parameters.
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?
No guidance is provided on when to use this tool versus alternatives. With siblings like 'get_subreddit_info' and 'search_subreddits', the description lacks context on usage scenarios, prerequisites, or exclusions, leaving the agent to infer based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_subreddit_infoC
Get information about a subreddit
| Name | Required | Description | Default |
|---|---|---|---|
| subreddit_name | Yes | Name of the subreddit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It doesn't disclose behavioral traits such as whether this is a read-only operation (implied by 'Get' but not stated), rate limits, authentication needs, error handling, or what happens if the subreddit doesn't exist. The description is minimal and lacks essential context for safe and effective use.
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, efficient sentence with zero waste. It's appropriately sized for a simple tool and front-loaded with the core purpose. Every word earns its place, making it easy to parse quickly.
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 lack of annotations and output schema, the description is incomplete. It doesn't explain what information is returned (e.g., description, subscriber count, rules), potential errors, or usage constraints. For a tool with no structured data beyond the input schema, more context is needed to guide the agent effectively.
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?
The description adds no meaning beyond the input schema, which has 100% coverage for the single parameter 'subreddit_name'. The schema already describes it as 'Name of the subreddit', so the description doesn't compensate or provide additional context like format examples (e.g., 'programming' without 'r/'). Baseline 3 is appropriate as the schema does the heavy lifting.
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 'Get information about a subreddit' states a clear verb ('Get') and resource ('subreddit'), but it's vague about what specific information is retrieved. It distinguishes from siblings like 'get_top_posts' or 'get_trending_subreddits' by focusing on subreddit metadata rather than content, but lacks specificity about the scope of information.
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?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't clarify if this should be used before posting to check subreddit rules versus using 'get_top_posts' for content discovery, or how it differs from 'get_user_info' for user-specific data. The description implies usage for subreddit metadata but offers no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_postsC
Get top posts from a subreddit
| Name | Required | Description | Default |
|---|---|---|---|
| subreddit | Yes | Name of the subreddit | |
| time_filter | No | Time period to filter posts (e.g. 'day', 'week', 'month', 'year', 'all') | week |
| limit | No | Number of posts to fetch |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets' data, implying a read-only operation, but doesn't mention potential rate limits, authentication requirements, pagination, or what 'top' entails (e.g., sorting criteria). The description is minimal and misses key behavioral traits needed for safe and effective use.
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, efficient sentence with no wasted words, making it easy to parse. However, it's front-loaded but overly brief, potentially sacrificing clarity for brevity. It earns a high score for conciseness but loses a point because the minimalism might hinder understanding without additional context.
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 moderate complexity (3 parameters, no output schema, no annotations), the description is incomplete. It lacks details on behavioral aspects like rate limits or authentication, doesn't explain the output format (e.g., what data is returned for posts), and offers no usage guidelines. While the schema covers parameters well, the overall context for an agent to use the tool effectively is insufficient.
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%, with clear descriptions for all parameters (limit, subreddit, time_filter) including defaults and enum values. The description adds no additional parameter semantics beyond what the schema provides, such as explaining 'top' in relation to parameters. Since the schema is comprehensive, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
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 'Get top posts from a subreddit' clearly states the action (get) and resource (top posts from a subreddit), but it's somewhat vague about what 'top' means (e.g., by upvotes, hotness) and doesn't explicitly distinguish this tool from siblings like 'get_reddit_post' (which might fetch a specific post) or 'search_reddit' (which might allow broader queries). It avoids tautology but lacks specificity for full differentiation.
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 no guidance on when to use this tool versus alternatives. It doesn't mention siblings like 'get_reddit_post' for individual posts or 'search_reddit' for custom searches, nor does it specify prerequisites or exclusions (e.g., whether it requires authentication). Usage is implied by the name but not explicitly stated, leaving gaps for an agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trending_subredditsB
Get currently trending subreddits
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states what the tool does ('Get currently trending subreddits') without detailing aspects like rate limits, authentication requirements, data freshness, or return format (e.g., list structure, pagination). This leaves significant gaps in understanding how the tool behaves in practice.
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, clear sentence with no wasted words. It is front-loaded with the core purpose ('Get currently trending subreddits'), making it easy to scan and understand quickly. Every part of the sentence earns its place by conveying 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?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'trending' means (e.g., based on views, upvotes, time frame), the format of the returned data, or any limitations (e.g., number of results). For a tool that fetches dynamic data, more context is needed to use it effectively.
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?
The tool has 0 parameters, and the schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it appropriately doesn't mention any. A baseline score of 4 is applied since no parameters exist, and the description doesn't introduce confusion by referencing non-existent parameters.
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 ('Get') and target resource ('currently trending subreddits'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_top_posts' or 'get_subreddit_info', which might also retrieve subreddit-related information, so it doesn't reach the highest score.
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 no guidance on when to use this tool versus alternatives. For example, it doesn't clarify if this is for real-time trends versus historical data, or how it differs from 'get_top_posts' or 'search_reddit'. Without such context, users might struggle to select the appropriate tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_activityC
Obtenir une analyse détaillée de l'activité d'un utilisateur
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Le nom d'utilisateur Reddit | |
| limit | No | Nombre d'éléments d'activité à analyser |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves a 'detailed analysis' but doesn't specify what that includes (e.g., types of activity, time frames, metrics) or behavioral traits like rate limits, authentication needs, or data freshness. The description is too vague to inform the agent about how the tool behaves beyond its basic purpose, leaving significant gaps in understanding its operation.
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 and front-loaded, consisting of a single sentence that directly states the tool's purpose. There's no wasted language or unnecessary elaboration, making it efficient. However, it could be slightly improved by adding a bit more context to enhance clarity without sacrificing brevity, but it's well-structured as is.
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 analyzing user activity and the lack of annotations and output schema, the description is incomplete. It doesn't specify what 'detailed analysis' entails, such as the format of the output, types of data returned, or any limitations. Without this information, the agent lacks sufficient context to understand what the tool provides, making it inadequate for a tool that likely returns rich, structured data about user behavior.
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?
The input schema has 100% description coverage, with clear documentation for both parameters: 'username' (Reddit username) and 'limit' (number of activity items to analyze, default 50). The description doesn't add any meaning beyond this, as it doesn't explain parameter interactions, constraints, or usage examples. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema adequately handles parameter semantics without needing extra detail in the description.
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: 'Obtenir une analyse détaillée de l'activité d'un utilisateur' (Get a detailed analysis of a user's activity). It specifies the verb ('obtenir une analyse') and resource ('activité d'un utilisateur'), making the intent clear. However, it doesn't explicitly differentiate from sibling tools like get_user_info, get_user_comments, or get_user_posts, which also retrieve user-related data but focus on specific aspects rather than a comprehensive activity analysis.
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 no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like get_user_info (for basic user data), get_user_comments (for comment history), or get_user_posts (for post history), leaving the agent to infer usage based on the vague term 'activité' (activity). There are no explicit instructions on prerequisites, context, or exclusions, making it difficult to choose appropriately among related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_commentsC
Obtenir l'historique des commentaires d'un utilisateur
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Le nom d'utilisateur Reddit | |
| sort | No | Méthode de tri (new, top, hot) | new |
| limit | No | Nombre de commentaires à récupérer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it retrieves comment history but doesn't mention whether this is a read-only operation, if there are rate limits, authentication requirements, pagination behavior, or what format the returned data takes. For a tool with 3 parameters and no output schema, this leaves significant behavioral gaps.
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, efficient sentence in French that directly states the tool's purpose. There's no unnecessary verbiage or structural issues - it's appropriately concise and front-loaded with the 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?
Given the tool has 3 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns, how results are structured, or important behavioral aspects like whether this is a safe read operation. For a data retrieval tool in this context, more completeness is needed.
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?
The schema description coverage is 100%, so all parameters are documented in the schema itself. The description doesn't add any additional meaning about the parameters beyond what's already in the schema descriptions. The baseline score of 3 is appropriate when the schema does the heavy lifting.
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 'Obtenir l'historique des commentaires d'un utilisateur' clearly states the purpose: retrieving a user's comment history. It specifies the resource (user comments) and verb (obtain/retrieve), but doesn't explicitly differentiate from sibling tools like get_user_activity or get_user_posts, which might also retrieve user-related 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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over get_user_activity (which might include comments) or get_comments_by_submission, nor does it specify any prerequisites or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_infoC
Get information about a Reddit user
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | The username of the Reddit user to get info for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It doesn't indicate whether this is a read-only operation, what permissions might be required, whether there are rate limits, what kind of information is returned, or if there are any constraints on which users can be queried. 'Get information' implies a read operation but provides no behavioral context beyond that basic inference.
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, efficient sentence that states the core purpose without any wasted words. It's appropriately sized for a simple lookup tool and front-loads the essential information. Every word earns its place in this minimal but complete statement of function.
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 tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what information is returned about users, whether there are limitations on which users can be queried, or what format the response takes. Given the lack of structured metadata, the description should provide more context about the tool's behavior and output.
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?
The description doesn't mention any parameters, but the input schema has 100% description coverage with a single well-documented 'username' parameter. Since the schema fully documents the parameter, the baseline score of 3 is appropriate. The description adds no additional parameter semantics beyond what's already 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 the action ('Get information') and target resource ('about a Reddit user'), making the purpose immediately understandable. However, it doesn't distinguish this tool from sibling tools like 'get_user_comments' or 'get_user_posts' - all three retrieve user-related data but this one is more general. The description is specific enough to understand what it does but lacks sibling differentiation.
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 no guidance on when to use this tool versus alternatives. With sibling tools like 'get_user_comments', 'get_user_posts', and 'get_subreddit_info' available, there's no indication whether this tool provides comprehensive user profile data, basic metadata, or something else. The agent must infer usage context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_postsC
Obtenir l'historique des posts d'un utilisateur
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Le nom d'utilisateur Reddit | |
| sort | No | Méthode de tri (new, top, hot) | new |
| limit | No | Nombre de posts à récupérer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It doesn't mention whether this is a read-only operation (implied by 'get'), rate limits, authentication requirements, pagination behavior, or what happens if the user doesn't exist. For a tool with 3 parameters and no annotation coverage, this is inadequate.
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, efficient sentence in French that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality.
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 tool with 3 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns (post objects? metadata?), error conditions, or behavioral constraints. The agent lacks critical context needed to use this tool effectively beyond basic parameter passing.
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 fully documents all parameters (username, sort, limit) with descriptions, enum values, defaults, and requirements. The description adds no parameter-specific information beyond what's in the schema, meeting the baseline for high coverage.
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 'Obtenir l'historique des posts d'un utilisateur' clearly states the verb ('obtenir' - get) and resource ('historique des posts' - post history) with the target ('d'un utilisateur' - of a user). It distinguishes from siblings like get_user_comments (which gets comments) and get_user_info (which gets profile info), but doesn't explicitly differentiate from get_user_activity which might overlap.
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 no guidance on when to use this tool versus alternatives. It doesn't mention when to choose get_user_posts over get_user_activity, get_user_comments, or search_posts, nor does it specify prerequisites or exclusions. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reply_to_postC
Post a reply to an existing Reddit post
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | The ID of the post to reply to | |
| content | Yes | The content of the reply | |
| subreddit | No | The subreddit name if known (for validation) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Post a reply' implies a write/mutation operation, it doesn't disclose authentication requirements, rate limits, error conditions, or what happens upon success. For a mutation tool with zero annotation coverage, this minimal description leaves critical behavioral aspects unspecified.
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, efficient sentence that communicates the core purpose without any wasted words. It's appropriately sized for a straightforward tool and gets directly to the point. Every word earns its place in this minimal but complete statement of function.
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 this is a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't address authentication needs, rate limits, error handling, or what the tool returns. With 3 parameters and complex Reddit API interactions likely involved, more context about behavioral expectations would be helpful for an AI agent.
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 three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema. It doesn't explain parameter relationships, format requirements, or usage patterns. The baseline of 3 is appropriate when the schema does all the parameter documentation work.
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 ('Post a reply') and target resource ('to an existing Reddit post'), making the purpose immediately understandable. It distinguishes from siblings like 'create_post' by specifying it's for replying rather than creating new posts. However, it doesn't explicitly differentiate from other comment/reply-related tools that might exist.
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 no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (like authentication), when not to use it, or how it differs from similar operations. With multiple sibling tools available, this lack of contextual guidance is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_postsC
Rechercher des posts dans un subreddit
| Name | Required | Description | Default |
|---|---|---|---|
| subreddit | Yes | Le nom du subreddit dans lequel rechercher | |
| query | Yes | La requête de recherche | |
| sort | No | Méthode de tri (relevance, new, hot, top) | relevance |
| limit | No | Nombre de résultats à retourner |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Rechercher' implies a read operation, it doesn't specify authentication requirements, rate limits, pagination behavior, or what constitutes a 'post' in the return. For a search tool with 4 parameters, this leaves significant behavioral gaps.
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, efficient sentence in French that directly states the tool's function without unnecessary words. It's appropriately sized for a search operation and front-loads the 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?
For a search tool with 4 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what constitutes a successful search, what format results return, or how to interpret empty results. The agent would need to guess about the tool's behavior and output structure.
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?
The description mentions 'dans un subreddit' which aligns with the 'subreddit' parameter, but adds no additional semantic context beyond what's already in the schema descriptions. With 100% schema description coverage, the baseline is 3 - the description doesn't compensate but doesn't need to since the schema is comprehensive.
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 ('Rechercher') and target resource ('posts dans un subreddit'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'search_subreddits' or 'get_top_posts', which would require more specific scope definition.
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 no guidance on when to use this tool versus alternatives like 'get_top_posts' or 'search_subreddits'. There's no mention of prerequisites, context, or exclusion criteria, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_subredditsC
Rechercher des subreddits par nom ou description
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | La requête de recherche | |
| limit | No | Nombre de résultats à retourner |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states the search functionality without mentioning any behavioral traits such as rate limits, authentication requirements, pagination behavior, or what happens when no results are found. This leaves significant gaps for a search tool.
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, efficient sentence in French that directly states the tool's purpose without any unnecessary words or structural complexity. It's appropriately sized and front-loaded with the 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?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the search returns (e.g., list of subreddit objects with what fields), how results are ordered, or any limitations. For a search tool with 2 parameters and no structured output documentation, this leaves too many unanswered questions.
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?
The schema description coverage is 100%, with both parameters ('query' and 'limit') well-documented in the schema. The description adds no additional parameter semantics beyond what's already in the structured schema, so it meets the baseline for high schema coverage.
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 'Rechercher des subreddits par nom ou description' clearly states the action (search) and target resource (subreddits) with specific search criteria (by name or description). However, it doesn't explicitly differentiate from sibling tools like 'search_posts' or 'get_trending_subreddits' which also involve subreddit-related searches.
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 no guidance on when to use this tool versus alternatives like 'search_posts', 'get_trending_subreddits', or 'get_subreddit_info'. It simply states what the tool does without context about appropriate use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_reddit_mcp_serverD
Test the Reddit MCP Server
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. 'Test' implies some diagnostic or validation operation, but the description doesn't reveal what gets tested, what side effects occur, whether authentication is needed, or what the expected output might be. It provides no behavioral context beyond the vague verb.
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 extremely concise at just 5 words, but this brevity comes at the cost of being under-specified rather than efficient. While it's front-loaded with the only information provided, the single sentence fails to earn its place by not conveying meaningful guidance. It's more minimal than optimally 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 the tool has no annotations, no output schema, and a completely uninformative description, the contextual information is severely inadequate. The description provides no insight into what 'testing' entails, what results to expect, or how this tool fits within the Reddit MCP ecosystem alongside its 11 sibling tools. This leaves critical gaps for tool understanding and invocation.
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?
The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description doesn't need to compensate for any parameter gaps. While it doesn't add any parameter information beyond what the schema provides, the baseline for zero parameters with full coverage is appropriately set at 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 'Test the Reddit MCP Server' is a tautology that restates the tool name without specifying what action it performs. It doesn't identify a specific verb or resource, nor does it distinguish this tool from its siblings like create_post or get_subreddit_info. The purpose remains vague and unhelpful for tool selection.
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 no guidance on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions, leaving the agent with no information about appropriate usage scenarios. This is particularly problematic given there are 11 sibling tools with clear purposes like get_user_info or search_reddit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
17 tool updates
- First observed
create_post - First observed
get_comment - First observed
get_comments_by_submission - First observed
get_reddit_post - First observed
get_submission - First observed
get_subreddit - First observed
get_subreddit_info - First observed
get_top_posts - First observed
get_trending_subreddits - First observed
get_user_activity - First observed
get_user_comments - First observed
get_user_info - First observed
get_user_posts - First observed
reply_to_post - First observed
search_posts - First observed
search_subreddits - First observed
test_reddit_mcp_server
TDQS
Scored across 17 tools
There is significant overlap and confusion among tools, particularly between 'get_reddit_post' and 'get_submission' (which appear to serve the same purpose), and between 'get_subreddit' and 'get_subreddit_info'. The mix of English and French descriptions further complicates clarity, making it difficult for an agent to reliably choose the correct tool without trial and error.
The naming follows a mostly consistent verb_noun pattern (e.g., 'create_post', 'get_comment'), but there are notable inconsistencies such as 'get_reddit_post' vs. 'get_submission' (both likely for posts) and the inclusion of 'test_reddit_mcp_server' which breaks the pattern. The mix of English and French in tool names adds to the inconsistency, though the core structure is readable.
With 17 tools, the count is on the higher side but still reasonable for a Reddit API server, covering various aspects like posts, comments, subreddits, users, and search. It's slightly heavy but not excessive, as Reddit's domain involves multiple entities and actions that justify a broader toolset.
The toolset provides good coverage for core Reddit operations, including CRUD-like actions (create, get, search) for posts, comments, subreddits, and users. Minor gaps exist, such as no explicit update or delete tools for posts or comments, but agents can likely work around this using existing tools like 'reply_to_post' or by re-fetching data. The inclusion of trending and search tools enhances completeness.
Maintenance
Related MCP Connectors
Browse and manage Reddit posts, comments, and threads. Fetch user activity, explore hot/new/rising…
Read-only Reddit search API for AI agents: posts, comments, comment trees, subreddit rules.
Reddit data for AI agents: posts, comments, subreddits, search. Community + sentiment research.
Reddit MCP — public Reddit data via JSON endpoints (no auth required)
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides access to Reddit's API for retrieving posts, comments, user information, and search functionality. Supports multiple authentication methods and comprehensive Reddit data operations including subreddit browsing, post retrieval, and user profile access.92,269 npm1MIT
- FlicenseAqualityDmaintenanceEnables interaction with Reddit through a comprehensive API interface supporting both read-only operations (browsing posts, comments, user profiles) and authenticated actions (posting, commenting, voting) via OAuth2 authentication.7-
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Reddit through OAuth 2.1 authentication, providing tools for searching content, managing notifications, analyzing posts and comments, and demonstrating advanced MCP features like sampling and real-time notifications.1MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with Reddit by searching subreddits, retrieving hot posts, and fetching detailed post information with comments through the Reddit API.-