Reddit MCP
레딧 MCP
Reddit을 탐색, 검색하고 읽을 수 있는 플러그 앤 플레이 MCP 서버입니다.
데모
다음은 Claude Desktop에서 이 기능을 사용하는 방법을 보여주는 짧은 동영상입니다.
https://github.com/user-attachments/assets/a2e9f2dd-a9ac-453f-acd9-1791380ebdad
Related MCP server: systemprompt-mcp-reddit
특징
주의사항
도구는 토큰을 사용합니다. Claude에서 이 기능을 사용하려면 Pro 사용자여야 도구 호출을 많이 사용할 수 있습니다. 무료 사용자는 가벼운 도구 사용에는 문제가 없습니다. 토큰 사용은 사용자의 책임입니다.
설치
필수 조건: Reddit API 자격 증명
Reddit 계정에 개발자 앱 이 없다면 만드세요. 그러면 다음 단계에서 사용할 client_id 와 client_secret 생성됩니다. 이미 해당 정보가 있다면 이 단계는 건너뛸 수 있습니다.
클로드 데스크탑
Claude Desktop에 설치하려면:
"텍스트 편집기에서 구성 파일을 엽니다." 섹션까지 여기의 지침을 따르세요.
원하는 설치 방법에 따라 다음을 파일에 추가하세요.
uvx 사용(권장)
지엑스피1
PIP 사용
먼저 패키지를 설치하세요:
pip install reddit-mcp그런 다음 구성 파일에 다음을 추가합니다.
"mcpServers": {
"reddit": {
"command": "python",
"args": ["-m", "reddit_mcp"],
"env": {
"REDDIT_CLIENT_ID": "<client_id>",
"REDDIT_CLIENT_SECRET": "<client_secret>"
}
}
}기타
이 서버는 에이전트 프레임워크(LangChain, LlamaIndex, AutoGen 등)를 포함한 모든 MCP 클라이언트 와 함께 사용할 수 있습니다. AutoGen 통합 예시는 예시를 참조하세요.
도구
서버가 공개할 도구는 다음과 같습니다.
이름 | 설명 |
| 댓글에 접근하기 |
| 제출물의 의견에 접근 |
| 제출물에 접근 |
| 이름으로 서브레딧에 접속하기 |
| 서브레딧에서 게시물 검색 |
| 이름이나 설명으로 서브레딧 검색 |
기여하다
기여를 환영합니다! 자세한 내용은 CONTRIBUTING.md를 참조하세요.
감사의 말
놀라울 정도로 안정적인 라이브러리인 PRAW 💙
Available Tools
6 toolsget_comment_by_idA
Retrieve a specific comment by ID.
Args:
comment_id: ID of the comment to retrieve
Returns:
Comment details with any replies
| Name | Required | Description | Default |
|---|---|---|---|
| comment_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions input and output (comment details with replies) but lacks info on behavior for missing IDs, authentication needs, rate limits, or any 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?
Very concise: three lines covering purpose, args, and returns without any extraneous text.
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?
Adequate for a simple single-parameter tool. Describes what it returns (with replies). Could benefit from clarifying that comment_id is required and mentioning error handling, but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds meaningful detail by stating comment_id is 'ID of the comment to retrieve', which clarifies purpose beyond the schema's 'Comment Id' title.
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 retrieves a specific comment by ID. It distinguishes from siblings like get_comments_by_submission which retrieves multiple comments for a submission.
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., get_comments_by_submission) or any context about prerequisites 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_submissionA
Retrieve comments from a specific submission.
Args:
submission_id: ID of the submission to get comments from
replace_more: Whether to replace MoreComments objects with actual comments
Returns:
List of comments with their replies
| Name | Required | Description | Default |
|---|---|---|---|
| replace_more | No | ||
| submission_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description bears full burden. It correctly suggests a read-only operation ('Retrieve comments') and indicates the return type ('list of comments with their replies'). However, it does not disclose specific behaviors such as how depth of replies is handled, whether there are rate limits, or the effect of replace_more beyond a brief sentence.
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 separate Args and Returns sections, making it easy to scan. The first sentence immediately conveys the tool's core function. However, it could be more front-loaded by placing the core purpose before the argument list.
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 2 parameters and a simple read operation, the description covers essential aspects: purpose, parameter meanings, and return type. It lacks details on pagination, ordering, or limitations of the comment list, but the moderate complexity justifies a score of 4 rather than 5.
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%, so the description must compensate. It clearly explains each parameter: submission_id as 'ID of the submission' and replace_more as 'Whether to replace MoreComments objects with actual comments'. This adds meaningful context beyond the schema, which only provides type and default.
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 'Retrieve comments from a specific submission', clearly identifying the verb (retrieve) and resource (comments from a submission). This distinguishes it from sibling tools like get_comment_by_id (single comment) and get_submission (submission details).
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 its siblings (e.g., get_comment_by_id for a single comment, search_posts for broader search). The description also lacks advice on when to set replace_more to true vs false, leaving the agent to infer usage from the parameter name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_submissionA
Retrieve a specific submission by ID.
Args:
submission_id: ID of the submission to retrieve
Returns:
Detailed information about the submission
| Name | Required | Description | Default |
|---|---|---|---|
| submission_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states that the tool retrieves and returns detailed information, omitting details like authentication requirements, rate limits, error handling (e.g., if ID not found), or whether the operation is read-only.
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: one sentence for purpose, followed by a clear parameter documentation and return value hint. No redundant 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 retrieval tool with one parameter and no output schema, the description covers the basic purpose and parameter. However, it lacks details on the expected return format, error cases, and any prerequisites (e.g., authentication), leaving some gaps for the 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?
With 0% schema description coverage, the description adds basic meaning to the parameter ("ID of the submission to retrieve") beyond the schema's type-only definition. However, the explanation is minimal and does not specify input formats or constraints.
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 (retrieve) and the resource (a specific submission by ID). It effectively distinguishes from sibling tools like get_comment_by_id and get_comments_by_submission, which operate on comments.
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 when a submission ID is known, but it does not explicitly specify when to use this tool over alternatives (e.g., search_posts for query-based retrieval). No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_subredditB
Retrieve a subreddit by name.
Args:
subreddit_name: Name of the subreddit to retrieve
Returns:
Detailed information about the subreddit
| Name | Required | Description | Default |
|---|---|---|---|
| subreddit_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fails to add behavioral context. It only mentions 'Detailed information' without specifics, and does not disclose potential limitations like rate limits or access restrictions.
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 very short and to the point, with no unnecessary words. However, the inclusion of Args/Returns structure is not standard for MCP and could be streamlined.
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 one parameter and no output schema, the description is minimal. It lacks details about return format, limitations, or when to use this tool over siblings, leaving an agent with insufficient information.
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%. The description for 'subreddit_name' merely restates the parameter name ('Name of the subreddit to retrieve') without adding semantic value or constraints.
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 'Retrieve a subreddit by name,' which is a specific verb-resource pair. It distinguishes from siblings like search_subreddits by implying retrieval of a single subreddit rather than searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a subreddit name, but does not explicitly state when not to use or mention alternatives like search_subreddits. Guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_postsC
Search for posts within a subreddit.
Args:
params: Search parameters including subreddit name, query, and filters
Returns:
List of matching posts with their details
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states it searches and returns posts, but does not disclose behavioral traits such as rate limits, authentication needs, or whether it is a read-only operation. Name implies read-only, but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is three lines: title, args summary, returns summary. Compact and front-loaded. Could be slightly more structured but 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 provided, yet return description is vague ('List of matching posts with their details'). No mention of pagination, result limits, or sorting behavior despite these being important for a search tool. Incomplete for a search operation.
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?
Input schema has rich descriptions for all nested fields (subreddit_name, query, sort, syntax, time_filter). The description adds only a generic summary ('params: Search parameters including subreddit name, query, and filters'), which is mostly redundant. With high schema coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Search for posts within a subreddit' – a specific verb (search) and resource (posts) with scope. However, no differentiation from sibling tools like get_submission or search_subreddits.
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 vs alternatives (e.g., get_submission for single post, search_subreddits for subreddits). No when-not-to-use or context information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_subredditsC
Search for subreddits using either name-based or description-based search.
Args:
by: Search parameters, either SearchByName or SearchByDescription
Returns:
List of matching subreddits with their details
| Name | Required | Description | Default |
|---|---|---|---|
| by | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only notes it returns a list of matching subreddits with details, but omits important traits like auth requirements, rate limits, or any 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?
The description is short and includes a structured Args and Returns section. It is efficient, though perhaps too brief for full clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a complex parameter (union type), no output schema, and no annotations, the description is insufficient. It does not explain return structure or how to choose between search modes.
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%, yet the description only says 'by: Search parameters, either SearchByName or SearchByDescription', which adds little beyond the schema. It fails to explain how the union discriminator works or hint at intended usage.
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 for subreddits using two methods (name-based or description-based), which distinguishes it from sibling tools like get_comment_by_id or search_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?
No guidance on when to use this tool versus other search tools, nor when to choose name vs. description search. The description lacks explicit context for selection.
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.
6 tool updates
v1.0.0- First observed
get_comment_by_id - First observed
get_comments_by_submission - First observed
get_submission - First observed
get_subreddit - First observed
search_posts - First observed
search_subreddits
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose targeting specific Reddit entities: comments, submissions, subreddits, and searches. No overlap exists between tools like get_comment_by_id and get_comments_by_submission, which serve different retrieval needs.
All tools follow a consistent verb_noun pattern with underscores (e.g., get_comment_by_id, search_posts). The naming is predictable and readable throughout the set, with no deviations in style.
Six tools is reasonable for a Reddit API server, covering core read operations. It's slightly lean but includes key functionalities like retrieval and search, though it lacks write operations which might be expected in a full-featured server.
The tool set provides good read coverage for comments, submissions, and subreddits, but there are notable gaps: no create, update, or delete operations (e.g., posting comments or submissions). This limits agents to read-only workflows, which may cause failures in interactive scenarios.
Maintenance
Related MCP Connectors
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
An MCP server that gives your AI access to the source code and docs of all public github repos
Reddit MCP server: search posts, subreddit feeds, comments & user profiles as JSON. No API key.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants like Claude to browse and analyze Reddit content, including searching subreddits, retrieving post details with comments, and viewing trending posts.9MIT
- AlicenseNot gradedqualityDmaintenanceA specialized MCP server that enables AI agents to interact with Reddit, including reading posts, creating content, and managing subreddit configurations.76 npm10Apache 2.0
- 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.15302MIT
- AlicenseBqualityDmaintenanceAn MCP server that provides AI agents with full Reddit API capabilities including search, browsing, reading, posting, commenting, voting, editing, and deleting.188 npmMIT