Upvote.club Local MCP
OfficialClick 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., "@Upvote.club Local MCPcreate a task to review my latest pull request"
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.
Upvote.club — Self-serve Local MCP
Stdio MCP server for the Upvote.club Public API.
Upvote Club MCP packages
Package | Repository | Use case |
Core | Shared MCP server library (6 tools) | |
Local | This repo — upvote-club-mcp-local | Cursor, Claude Code, manual Claude Desktop ( |
MCPB | Single-click Claude Desktop | |
Remote | Claude.ai custom connector (Streamable HTTP) | |
Apps | MCP Apps + inline task progress UI |
Related MCP server: Upvote Club MCP Core
Setup
Register at https://upvote.club
MATE plan
API key at https://upvote.club/api → copy
upv_...Install and configure:
git clone https://github.com/upvoteclub/upvote-club-mcp-local.git
cd upvote-club-mcp-local
npm install{
"mcpServers": {
"upvote-club": {
"command": "node",
"args": ["/ABS/PATH/upvote-club-mcp-local/server/index.js"],
"env": {
"UPVOTE_API_KEY": "upv_..."
}
}
}
}Environment
Variable | Required | Description |
| Yes | |
| No | Default |
Tools (6)
get_api_reference, list_platforms, create_task, get_task_status, delete_task
Docs: API_REFERENCE.md (core repo)
Related
Core dependency: @upvote-club/mcp-core
Prefer one-click Desktop install? → upvote-club-mcp-mcpb
Need Claude.ai HTTPS connector? → upvote-club-mcp-remote
Privacy
Connects only to https://api.upvote.club. https://upvote.club/privacy-policy
Available Tools
5 toolscreate_taskCreate Promotion TaskA
Create a promotion task on Upvote.club. SPENDS points (price × actions_required, plan discount) and 1 daily slot. Call get_api_reference for examples and errors. Auto-detects platform from URL when social_network_code omitted. GitHub/Product Hunt min 16 pts/action; meaningful COMMENT min 64 pts/action.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Action type or MULTI_ACTION for bundles | |
| price | No | Price per action in points (single-action tasks). See list_platforms for minimums. | |
| post_url | Yes | URL of the post, profile, repo or product to promote | |
| is_pinned | No | Pin task to top of executor feed (default false) | |
| actions_required | No | Number of actions (single-action tasks) | |
| meaningful_comment | No | COMMENT only: executors post exact meaningful_comments text (min 64 pts/action) | |
| multi_action_items | No | ||
| meaningful_comments | No | Comment texts for meaningful COMMENT actions, e.g. [{"text": "Great tool"}] | |
| social_network_code | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare it's not read-only, not idempotent, not destructive. The description adds behavioral context: 'SPENDS points (price × actions_required, plan discount) and 1 daily slot' and 'Auto-detects platform from URL,' which goes beyond annotations to explain 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 four sentences, front-loading the purpose. It includes necessary details (costs, references, constraints) without superfluous text. Could be slightly tighter, but efficient overall.
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 9 parameters, no output schema, and annotations, the description covers core purpose, costs, auto-detection, and minimums. It references get_api_reference for examples and errors, partially compensating for missing return info. Leaves little ambiguity for an 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 coverage is 78%, so baseline is 3. The description adds value by explaining auto-detection of social_network_code when omitted and specific minimum points for GitHub/Product Hunt and meaningful COMMENT, which are not in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Create a promotion task on Upvote.club,' clearly stating the verb and resource. It distinguishes from siblings like delete_task and get_api_reference by focusing on creation and referencing costs (points, daily slot) and auto-detection.
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 implicitly guides usage by noting it spends points and a daily slot, and suggests calling get_api_reference for examples. It does not explicitly state when not to use it, but the context of constraints provides adequate guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_taskDelete TaskADestructiveIdempotent
Delete an Upvote.club task. Refunds unused points and restores one daily task slot. Completed tasks cannot be deleted. Confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ID of the task to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds significant behavioral details beyond annotations: refunding points, restoring slots, and the restriction on completed tasks. No contradiction with annotations (destructiveHint: true is consistent).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences covering purpose, side effects, and usage constraints. No wasted words; effective front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core behavior, constraints, and user guidance. Lacks details on return values or error scenarios, but for a destructive tool with no output schema, this is acceptable.
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% for the single parameter (task_id). The description does not add new semantic information about the parameter, so 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 clearly states the action ('Delete an Upvote.club task') and distinguishes it from sibling tools like create_task and get_task_status. It also specifies side effects (refunds unused points, restores daily slot), adding clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidelines: 'Confirm with the user first' and 'Completed tasks cannot be deleted.' These instructions help the agent avoid misuse and handle user interaction properly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_referenceGet API ReferenceARead-only
Full Upvote.club Public API reference for MCP: all tool inputs/outputs, request examples (single-action, MULTI_ACTION, meaningful comments), minimum prices per platform/action, billing rules, and complete error catalog. Call before create_task if unsure about fields or pricing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds value by specifying that the tool provides request examples, pricing rules, and error catalogs, giving insight into the content. It does not contradict annotations and provides useful 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?
Description is concise (two sentences) and front-loaded with the tool's purpose. Every clause adds value: listing contents, giving usage hint. 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 no parameters, no output schema, and annotations indicating a safe read-only tool, the description fully covers what an agent needs: purpose, contents, and when to call. It is complete and actionable.
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?
Tool has zero parameters with 100% schema coverage, so the description does not need to add parameter-level semantics. The baseline of 4 applies as no additional explanation is required.
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 it is the 'Full Upvote.club Public API reference' and enumerates its contents (inputs/outputs, examples, pricing, errors). It distinguishes itself from sibling tools like create_task and list_platforms by being a reference rather than an action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call before create_task if unsure about fields or pricing,' providing clear guidance on when to use this tool versus alternatives. This directly tells the agent to invoke it as a prerequisite for create_task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_statusGet Task StatusARead-only
Get status and progress of one or more Upvote.club tasks (actions completed, progress percentage, meaningful comment submissions).
| Name | Required | Description | Default |
|---|---|---|---|
| task_ids | Yes | Task IDs from create_task |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint and openWorldHint. The description adds return details but does not address the open world hint (e.g., potential external side effects). Disclosures are 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 no wasted words, front-loaded with the primary action and resource. Every part adds value.
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 single parameter, no output schema, and thorough annotations, the description sufficiently covers purpose and return values. Lacks mention of potential limitations like max tasks or pagination, but not critical.
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 clear parameter description ('Task IDs from create_task'). The tool description adds context about 'one or more' but does not significantly enhance beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves status and progress of Upvote.club tasks, specifying exact information returned (actions completed, progress percentage, meaningful comment submissions). This distinctly separates it from sibling tools like create_task or delete_task.
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 task status is needed, but lacks explicit guidance on when not to use it or alternatives. No mention of prerequisites or conflict with other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_platformsList Supported PlatformsARead-only
List all social platforms supported by Upvote.club with their available promotion actions, minimum price per action (in points), and example URLs. Call this first if you are unsure which platform or action applies to the link the user wants to promote.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark as readOnlyHint=true. Description adds context about what data is returned (actions, price, example URLs), which is useful beyond the annotation. No mention of rate limits or auth, but not needed for a simple list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. First sentence defines purpose and output, second gives usage advice. Perfectly front-loaded and efficient.
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 input params, no output schema, and simple purpose, description fully explains what the tool returns (platforms, actions, minimum price, example URLs). No gaps for an 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?
No parameters in schema, so no param description needed. Baseline 4 per guidelines for 0-param tool. Description adds no redundant parameter info.
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 and resource: 'List all social platforms supported by Upvote.club' with details of returned data (actions, price, URLs). Clearly distinguishes from sibling tools which are task management operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call this first if you are unsure which platform or action applies', providing clear when-to-use guidance and implying it's a discovery tool.
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.
5 tool updates
v1.0.0- First observed
create_task - First observed
delete_task - First observed
get_api_reference - First observed
get_task_status - First observed
list_platforms
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: create, delete, get reference, get status, list platforms. No overlap or ambiguity.
All tool names follow a consistent verb_noun snake_case pattern (create_task, delete_task, get_api_reference, get_task_status, list_platforms).
5 tools is well-scoped for a promotion task service, covering creation, deletion, status checking, API reference, and platform enumeration without being excessive or insufficient.
Core CRUD operations are present (create, delete, read status), and supporting tools (API reference, platform list) enhance usability. Missing update/modify functionality is a minor gap.
Maintenance
Related MCP Connectors
- NirvanaOAuthcom.nirvanahq
Read and update your Nirvana tasks and projects: GTD states, tags, due dates, and capture.
Manage Uploadcare files, groups and webhooks; upload and store files.
Query FDA data on drugs, food, devices, and recalls via openFDA. STDIO or Streamable HTTP.
ClickUp MCP — wraps the ClickUp REST API v2 (BYO API key)
Related MCP Servers
- FlicenseAqualityCmaintenanceEnables interaction with the Upvote.club Public API for task management, including creating, deleting, and checking task status, as well as listing platforms and API reference.5-

Upvote Club MCP Coreofficial
FlicenseNot gradedqualityBmaintenanceProvides tools to interact with the Upvote.club Public API, including creating tasks, checking task status, listing platforms, and more.40-
Upvote Club Remote MCPofficial
FlicenseNot gradedqualityCmaintenanceRemote MCP server for Claude.ai to interact with Upvote Club's API, enabling task creation, status checking, and platform listing via natural language.42-
Upvote.club — MCP Appsofficial
FlicenseNot gradedqualityCmaintenanceProvides an MCP Apps interface to the Upvote Club API, enabling task management with an inline progress card UI in Claude.41-