reddit-mcp
Provides tools for interacting with Reddit, enabling posting, commenting, voting, and sending private messages as the authenticated user.
Click on "Install 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-mcpshow me hot posts in r/programming"
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
An MCP server over the Reddit API, backed by a self-owned OAuth2 app. Unlike the read-only servers in this set, this one can act as the account — post, comment, vote, and send private messages — so it is worth being deliberate about what you ask it to do.
Runs over stdio, registered in ~/.claude.json as reddit.
Tools
Read
Tool | Purpose |
| The authenticated account's own profile |
| Another user's public profile |
| A user's recent posts and comments |
| Listing for a subreddit (hot/new/top/rising) |
| A single post plus its comment tree |
| Search across Reddit or within one subreddit |
| Private messages and inbox replies |
Write — these have real, public consequences
Tool | Purpose |
| Create a new post in a subreddit |
| Reply to a post or comment |
| Up/down/clear vote on a post or comment |
| Send a private message to a user |
| Mark inbox items read |
The write tools post under your real account, publicly and attributably. Reddit's spam and vote-manipulation rules apply to API traffic exactly as they do to browser traffic, and account bans follow the account, not the app.
Related MCP server: reddit-mcp
Auth
OAuth2 with a refresh token, stored in credentials/token.json (gitignored).
Reddit does not rotate refresh tokens, so the stored one stays valid
indefinitely — access tokens are refreshed automatically ~60s before expiry.
npm run authorize # one-time browser consent, writes credentials/token.json
npm run check-auth # verify the stored token still worksSetup
Requires Node 20+.
Create a script app at reddit.com/prefs/apps.
Save its id and secret to
credentials/client_secret.json— seecredentials/client_secret.example.jsonfor the shape.credentials/is git-ignored.Identify yourself to Reddit. The default User-Agent contains a placeholder, and Reddit throttles generic agents hard, so set one of:
REDDIT_USERNAME=your_reddit_username # fills in the /u/ segment REDDIT_USER_AGENT="platform:app:v1.0.0 (by /u/you)" # or replace it wholesaleAuthorize and register:
npm ci npm run authorize claude mcp add reddit -- node <path>/reddit-mcp/src/index.js
Tests
npm testRegistration, the fullname-prefix helper, and User-Agent construction. No network and no credentials, so it is safe in CI.
Layout
src/auth.js token load, refresh, caching
src/reddit.js all tool registrations
src/index.js McpServer construction + stdio transport
scripts/authorize.js one-time OAuth consent flow
scripts/check-token.js token health checkNotes
Reddit requires a descriptive, unique
User-Agent; a generic one gets 429s regardless of rate.Fullnames are prefixed type IDs (
t3_post,t1_comment,t5_subreddit).reddit_votewants the fullname, not the short ID from a URL.
Available Tools
12 toolsreddit_get_inboxRead private messages / inboxC
Lists inbox items: private messages, comment replies, and mentions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| filter | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden of disclosing behavioral traits. It only states what is listed, but does not mention that this is a read-only operation, whether authentication is required, rate limits, or how pagination works. The title implies 'Read', but the description lacks explicit behavioral disclosure.
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 sentence, which is efficient in length. However, it sacrifices necessary details for brevity, leaving gaps in parameter usage and behavioral transparency. It is front-loaded with the key verb and resource but lacks completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should elaborate on the return structure or behavior. It mentions the types of items listed but does not describe the format, pagination, or how to handle large results. For a tool with no annotations and rich sibling tools, more context 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?
Schema description coverage is 0%, meaning the description adds no meaning to the two parameters (limit, filter). The description does not mention these parameters or their roles. Without this context, the agent must rely solely on the schema, which lacks descriptions, making it hard to understand what filter values like 'unread' or 'comments' mean in this context.
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 'Lists' and the resource 'inbox items', specifying the types included (private messages, comment replies, mentions). The title 'Read private messages / inbox' reinforces the purpose and distinguishes it from sibling tools that deal with user info, posts, or actions like sending messages.
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 does not mention prerequisites, contexts where this is appropriate, or when to avoid it. Sibling tools like reddit_search or reddit_mark_read are not referenced, leaving the agent to infer usage without explicit help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_get_meGet authorized Reddit accountB
Profile of the Reddit account this server is authorized as.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation but does not explicitly state it is safe or non-destructive. With no annotations, the description should clarify that it only retrieves data without side effects.
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?
A single sentence that is concise and to the point. No unnecessary 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?
The description does not specify what 'profile' includes (e.g., username, karma, etc.). With no output schema, the agent lacks detailed understanding of the return value, making it incomplete.
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; baseline score of 4 as per rules. The description does not need to explain parameters but confirms the tool requires no input.
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 'Profile of the Reddit account this server is authorized as' clearly indicates the tool returns the authenticated user's account data. It is specific enough but could explicitly state that it differs from reddit_get_user by focusing on the authorized account.
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 on when to use this tool versus alternatives like reddit_get_user. While the tool's simplicity reduces the need, explicit context would help an agent decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_get_postGet a post with commentsB
Fetch a post (submission) and its comment tree by post id (t3_... or bare id) or subreddit+id.
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | ||
| subreddit | Yes | ||
| commentSort | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden but only discloses two identification methods; lacks info on auth, rate limits, error behavior, or effect of invalid inputs. Not misleading but insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, well-structured sentence front-loading the core purpose and identification options. No unnecessary words or repetition.
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 3 parameters, 0% schema coverage, no output schema, and no annotations, a single sentence is insufficient. Lacks guidance on return format, error cases, or pagination. Minimal yet functional.
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?
Adds meaning for postId (accepts t3_ prefix or bare) and subreddit (required when not using full ID). However, does not explain commentSort parameter (enum values are in schema but no added context). Partially compensates for 0% 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?
Clearly states verb 'Fetch' and resource 'post (submission) and its comment tree', distinguishing it from sibling tools that list or search posts. However, does not explicitly contrast with siblings like 'reddit_get_subreddit_posts'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage when you have a post ID or subreddit+ID, but lacks explicit when-to-use vs. alternatives or when-not-to-use scenarios. No reference to sibling tools for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_get_subreddit_postsGet subreddit postsB
List posts from a subreddit feed (hot, new, top, rising).
| Name | Required | Description | Default |
|---|---|---|---|
| feed | No | ||
| time | No | ||
| limit | No | ||
| subreddit | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'list posts' without disclosing side effects, authentication needs, rate limits, or return behavior. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, efficient. 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?
No output schema, and description omits return format, pagination, or default behavior. Incomplete for a tool with 4 parameters.
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 0%, and the description only names feed types. It does not explain 'time', 'limit', or 'subreddit' parameters, failing to add 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 explicitly states 'List posts from a subreddit feed (hot, new, top, rising)', providing a clear verb and resource, and distinguishes from siblings like reddit_search and reddit_get_post.
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 on when to use this tool versus alternatives (e.g., reddit_search). Lacks context about prerequisites or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_get_userGet a Reddit user profileB
Public profile info (karma, trophies, account age) for a username.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It discloses the type of data returned (karma, trophies, account age) but does not explicitly state read-only behavior, auth requirements, or error handling. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with precise, front-loaded information. No wasted words or redundancy.
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 one parameter and no output schema, the description provides essential purpose and output examples but lacks guidance on input format, error cases, and distinction from similar tools. Adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage; the description mentions 'for a username' clarifying the parameter's role, but adds no format, constraints, or examples. Minimal added value beyond the schema's type field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states that the tool retrieves public profile information (karma, trophies, account age) for a given username, distinguishing it from sibling tools like reddit_get_me (authenticated user) and reddit_get_user_activity (activity 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 vs alternatives, nor does it specify prerequisites or exclusions. The agent must infer usage from the resource name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_get_user_activityGet a user's posts or commentsC
List a user's submitted posts, comments, or both (overview).
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| limit | No | ||
| username | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose behavioral traits such as authentication requirements, rate limits, or error handling. Only states the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Could be improved by front-loading the action, but is appropriately 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?
Despite having 3 parameters and no output schema or annotations, the description is very brief. Lacks details on return structure, pagination, or error conditions.
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 0%. Description adds no meaning beyond the schema. The parameter 'kind' values ('submitted', 'comments', 'overview') are not explained, and 'limit' usage is not clarified.
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 verb 'List', resource 'a user's submitted posts, comments, or both (overview)', and distinguishes from siblings like reddit_get_user which likely returns user info.
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 on when to use this tool versus alternatives like reddit_get_user or reddit_get_subreddit_posts. Does not specify scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_mark_readMark inbox messages readB
Marks one or more inbox items as read.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Fullnames, e.g. t4_... for messages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states the basic action. Does not disclose side effects, idempotency, rate limits, or prerequisites (e.g., authentication).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no verbosity, but could benefit from minor expansion to improve clarity without losing efficiency.
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?
Lacks details on return values, error handling, and preconditions. For a mutation tool with no output schema or annotations, description is insufficiently informative.
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 parameter 'ids' already described as fullnames. Description adds no extra meaning beyond schema, meeting 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?
Clearly states the action (marks) and resource (inbox items) with specific outcome (as read). Distinct from sibling tools like reddit_get_inbox.
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 on when to use this tool versus alternatives like reddit_get_inbox or reddit_send_message. Lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_searchSearch RedditC
Search posts across Reddit or within a specific subreddit.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | ||
| time | No | ||
| limit | No | ||
| query | Yes | ||
| subreddit | No | Restrict search to this subreddit (without r/) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only states the tool searches posts but does not disclose behavioral traits like default sort, pagination, rate limits, authentication needs, or whether it returns comments. This lacks transparency for an agent.
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 sentence of 9 words, which is concise. However, it could include essential details without being verbose, so it is adequate but not optimally structured.
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 5 parameters, no output schema, and no annotations, the description is incomplete. It does not mention required parameters, return format, or that subreddit is optional. The description falls short for the complexity involved.
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 20%, with only the subreddit parameter having a brief description. The description does not explain the query parameter (required), sort, time, or limit. Given the low coverage, the description should compensate but fails to add 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 searches posts across Reddit or within a specific subreddit, using a specific verb and resource. This distinguishes it from sibling tools like reddit_get_subreddit_posts (which likely retrieves posts without search) and reddit_get_post (single post).
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, such as reddit_get_subreddit_posts for non-search retrieval. No context on when not to use it or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_send_messageSend a private messageB
Sends a real private message to a user immediately. No confirmation step.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| text | Yes | ||
| subject | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses immediate execution and lack of confirmation, which adds value beyond schema, but omits other behavioral aspects like rate limits or side effects.
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?
Extremely concise with two sentences. First sentence states purpose, second adds a key behavioral detail. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 string params, no output schema), the description is minimally adequate. It covers the core action but lacks details on success/error behavior or usage notes.
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 0% and description does not explain parameters. While parameter names are self-descriptive, the description should clarify format or constraints (e.g., max length, valid usernames).
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 uses a specific verb ('sends') and resource ('private message'), clearly distinguishing it from siblings like reddit_submit_post or reddit_get_inbox.
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 on when to use this tool versus alternatives (e.g., for reading messages use reddit_get_inbox). The description only mentions a behavioral detail but lacks usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_submit_commentSubmit a comment / replyA
Posts a real comment reply to a post or comment immediately. No confirmation step.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| parentId | Yes | Fullname of the post (t3_...) or comment (t1_...) being replied to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes full burden. It informs that the action is immediate and irreversible ('No confirmation step'), but lacks disclosure of authentication requirements, rate limits, or error handling. Basic transparency is provided, but gaps remain.
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 with a single sentence containing the core action and a key behavioral trait. It is front-loaded and avoids unnecessary words, though it could be slightly more structured.
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 simple tool (2 params, no output schema, no annotations), the description covers the basic action and immediacy but omits return value details, error handling, and prerequisites. It is minimally complete but not exhaustive.
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 50%: only 'parentId' has a description. The tool description does not add meaning for the 'text' parameter (e.g., formatting, length limits), which is undocumented in both schema and description. Thus, it insufficiently compensates for the gap.
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 title and description clearly state the verb 'Submit' and the resource 'comment / reply'. It specifies posting a real comment reply immediately, distinguishing it from siblings like 'reddit_submit_post' (new post) and 'reddit_vote' (vote).
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?
Usage is implied by the tool name and description but not explicitly stated. The description mentions 'No confirmation step' but does not provide clear when-to-use or when-not-to-use guidance compared to alternatives like 'reddit_send_message' or 'reddit_submit_post'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_submit_postSubmit a postB
Creates a real post in a subreddit immediately. No confirmation step.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Link-post URL. Omit if using text. | |
| text | No | Self-post body (markdown). Omit if using url. | |
| title | Yes | ||
| subreddit | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses it is a write action that executes immediately with no confirmation, but lacks details on side effects, permissions, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words, communicates essential purpose efficiently.
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?
No output schema and description omits return value, error cases, or validation, leaving users uninformed about what the tool returns.
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 value by explaining mutual exclusivity of url and text, but subreddit and title lack description 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 it creates a real post in a subreddit immediately with no confirmation, distinguishing it from siblings like reddit_submit_comment.
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 explicit guidance on when to use this tool vs alternatives, nor prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reddit_voteVote on a post or commentA
Casts an upvote, downvote, or clears a vote immediately.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Fullname (t1_ comment or t3_ post) | |
| direction | Yes |
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 mentions the vote is cast 'immediately' but does not disclose authentication requirements, rate limits, or effects of clearing a vote. Minimal behavioral disclosure.
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 sentence that front-loads the key action, with 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 2 parameters and no output schema, the description is nearly complete. It covers the main action, but lacks mention of prerequisites like user authentication or that the ID must be a fullname (though schema covers this).
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 50% (only 'id' has description). The description mentions 'upvote, downvote, or clears' which matches the enum for 'direction', but adds no further syntax or format beyond what the schema provides. Baseline 3 applies given partial 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 ('casts an upvote, downvote, or clears a vote'), the resource ('vote on a post or comment'), and is specific. It distinguishes from sibling tools like reddit_submit_post, which are for different actions.
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 implies usage for voting on Reddit content, but does not explicitly compare with sibling tools or state when not to use it. However, the context of sibling tools makes the intended use obvious.
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.
12 tool updates
v1.0.0- First observed
reddit_get_inbox - First observed
reddit_get_me - First observed
reddit_get_post - First observed
reddit_get_subreddit_posts - First observed
reddit_get_user - First observed
reddit_get_user_activity - First observed
reddit_mark_read - First observed
reddit_search - First observed
reddit_send_message - First observed
reddit_submit_comment - First observed
reddit_submit_post - First observed
reddit_vote
TDQS
Scored across 12 tools
All 12 tools have clearly distinct purposes, e.g., reddit_get_me vs reddit_get_user, reddit_get_subreddit_posts vs reddit_search. No two tools appear to do the same thing.
Every tool uses the consistent pattern reddit_verb_noun in snake_case, e.g., reddit_get_post, reddit_submit_post, reddit_mark_read. Naming is predictable and uniform.
12 tools is well-scoped for a Reddit client, covering reading (posts, user, subreddit, search, inbox) and writing (submit post/comment, vote, message, mark read) without being excessive.
Core CRUD/CUD operations are covered, but missing edit and delete for posts/comments, as well as subreddit info and user subscriptions. Minor gaps for a full Reddit surface.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
A MCP server built for developers enabling Git based project management with project and personal…
An MCP server that provides congressional transcripts
Related MCP Servers
- AlicenseAqualityFmaintenanceAn MCP server that enables AI assistants to access and interact with Reddit content through features like user analysis, post retrieval, subreddit statistics, and authenticated posting capabilities.15299MIT
- AlicenseBqualityDmaintenanceAn MCP server that provides both read-only and authenticated access to Reddit content and interactions without requiring a developer API key. It enables users to browse posts, search subreddits, and perform write actions like commenting and voting by leveraging browser session cookies.81-
- AlicenseAqualityDmaintenanceReddit MCP Server — No API Keys Required. Browse, post, comment, vote, and manage your Reddit account from any MCP client.204MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides AI agents with full Reddit API capabilities including search, browsing, reading, posting, commenting, voting, editing, and deleting.13MIT