# app.takehub/mcp (npm · @takehub/mcp)

Manage discussion topics, gather votes and video rationale, and read AI insights.

- Trust score: 64/100 (medium)
- Change this week: +45
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-04

## Components

- npm · `@takehub/mcp`: 64/100 (this document), [markdown](https://verifymcp.io/servers/app-takehub-mcp/takehub-mcp.md), [page](https://verifymcp.io/servers/app-takehub-mcp/takehub-mcp)

## Channel facts

- Registry: `npm`
- Package: `@takehub/mcp`
- Version: `1.1.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-04.

- **Supply Chain Security**: 83/100
  - No malware found by supply-chain analysis.
  - CVE check failed: a known medium-severity CVE affects hono 4.12.33, reached via @modelcontextprotocol/sdk > hono. A fixed version is available.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 19/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 60 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 77/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 2014 tokens (~77/item across 26 items; 26 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 97% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add app-takehub-mcp -- npx -y @takehub/mcp
```

### Codex

```bash
codex mcp add app-takehub-mcp -- npx -y @takehub/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-takehub-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@takehub/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add app-takehub-mcp --command npx --arg -y --arg @takehub/mcp
```

### Hermes

```yaml
mcp_servers:
  app-takehub-mcp:
    command: "npx"
    args: ["-y", "@takehub/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "app-takehub-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@takehub/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-04 (score 64, 0)

- [security regression] CVE-2026-69207 affects this package: medium
- [security regression] Known CVEs: partial → fail

### 2026-08-02 (score 64, +34)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] License: unverified → pass
- [functional] Licence: MIT

### 2026-07-31 (score 30, +21)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 9, −65)

- [security regression] Known CVEs: partial → unverified
- [security regression] Malware scan: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Dependency health: partial → unverified

### 2026-07-29 (score 74, +55)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] License: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → excellent
- [functional] Licence: MIT

### 2026-07-28 (score 19, −21)

- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] Dependency health: unverified → partial
- [functional] First check of Schema quality: unverified

### 2026-07-27 (score 40)

First indexed and scored.

## MCP tools (26)

### `authenticate` (~34 tokens)

Log in to takehub. Opens a browser URL and waits for login to complete (up to 2 minutes). Returns once authenticated.

### `complete_auth` (~37 tokens)

Wait for browser-based login to complete. Usually not needed — authenticate now waits automatically. Only call if authenticate timed out and you want to retry.

### `set_credentials` (~67 tokens)

Manually set authentication credentials (e.g., from a previous session). These are used for all subsequent API calls.

Input parameters:

- `access_token` (string, required): Supabase access token
- `refresh_token` (string, required): Supabase refresh token
- `session_id` (string, required): takehub session ID

### `logout` (~21 tokens)

Log out by clearing stored credentials. You will need to authenticate again.

### `get_current_user` (~16 tokens)

Get the currently authenticated user profile.

### `list_topics` (~98 tokens)

List discussion topics with optional filtering, sorting, and pagination.

Input parameters:

- `limit` (integer): Items per page (default 20)
- `mine` (boolean): Only show topics created by the current user
- `page` (integer): Page number (default 1)
- `search` (string): Search topics by statement text
- `sort` (string): Sort mode
- `visibility` (string): Filter by visibility (including topics you follow)

### `get_topic` (~31 tokens)

Get a specific topic by ID, including its options and metadata.

Input parameters:

- `topicId` (string, required): Topic ID

### `create_topic` (~403 tokens)

Create a new discussion topic. Supports binary, multi-option, and open-ended topics plus full settings: visibility, share-link access, voting method (plurality or ranked choice), response-video rules, AI insights, and more.

Input parameters:

- `allow_response_videos` (boolean): Allow participants to post video responses to other videos
- `allow_vote_change` (boolean): Allow users to change their vote
- `category` (string): Optional category label
- `closes_at` (string): ISO 8601 close date
- `favor_broad_appeal` (boolean): Ranked-choice only: favor broadly-acceptable options over polarizing ones
- `has_other_option` (boolean): Multi-option only: add a free-form "Other" option
- `insights_enabled` (boolean): Enable AI-generated insights/summaries for this topic
- `is_binary` (boolean, required): True for binary (In Favor/Against), false for multi-option. Ignored when topic_type is "open_ended".
- `is_private` (boolean): Private topic (invite-only)
- `link_access` (boolean): Private topics only: allow anyone with the share link to participate
- `max_duration_ms` (number): Max response video length in ms (15000, 30000, 60000, or 120000)
- `option_images` (array): Parallel array of image URLs for each option (upload first to obtain URLs)
- `options` (array): Option labels (required for multi-option; ignored for binary/open_ended)
- `subtopic_forking_enabled` (boolean): Allow forking disagreement clusters into child subtopics
- `tags` (array): Optional topic tags
- `topic_statement` (string, required): The discussion statement (10–200 chars)
- `topic_type` (string): Topic type. "open_ended" collects free-form video responses instead of fixed options and overrides is_binary.
- `voting_method` (string): Voting method (default plurality)

### `update_topic` (~137 tokens)

Update topic settings (creator only): close date, share-link access, voting method, broad-appeal preference, and the "Other" option toggle.

Input parameters:

- `closes_at` (string|null): New close date (ISO 8601) or null
- `favor_broad_appeal` (boolean): Ranked-choice only: favor broadly-acceptable options
- `has_other_option` (boolean): Multi-option only: toggle the free-form "Other" option
- `link_access` (boolean): Private topics only: allow share-link participation
- `topicId` (string, required): Topic ID
- `voting_method` (string): Voting method

### `delete_topic` (~26 tokens)

Soft-delete a topic (creator only).

Input parameters:

- `topicId` (string, required): Topic ID

### `update_topic_options` (~66 tokens)

Add, edit, or delete options on a topic (creator only).

Input parameters:

- `additions` (array): New options to add
- `deletions` (array): Option IDs to delete
- `edits` (array): Options to update
- `topicId` (string, required): Topic ID

### `create_topic_and_invite` (~412 tokens)

Create a new discussion topic and invite participants in one step. Combines create_topic + send_invite for the common workflow of setting up a discussion and immediately inviting people.

Input parameters:

- `allow_response_videos` (boolean): Allow participants to post video responses to other videos
- `allow_vote_change` (boolean): Allow users to change their vote
- `category` (string): Optional category label
- `closes_at` (string): ISO 8601 close date
- `favor_broad_appeal` (boolean): Ranked-choice only: favor broadly-acceptable options over polarizing ones
- `has_other_option` (boolean): Multi-option only: add a free-form "Other" option
- `insights_enabled` (boolean): Enable AI-generated insights/summaries for this topic
- `invitees` (array, required): People to invite (each needs phone or email)
- `is_binary` (boolean, required): True for binary (In Favor/Against), false for multi-option. Ignored when topic_type is "open_ended".
- `is_private` (boolean): Private topic (invite-only)
- `link_access` (boolean): Private topics only: allow anyone with the share link to participate
- `max_duration_ms` (number): Max response video length in ms (15000, 30000, 60000, or 120000)
- `option_images` (array): Parallel array of image URLs for each option (upload first to obtain URLs)
- `options` (array): Option labels (required for multi-option; ignored for binary/open_ended)
- `subtopic_forking_enabled` (boolean): Allow forking disagreement clusters into child subtopics
- `tags` (array): Optional topic tags
- `topic_statement` (string, required): The discussion statement (10–200 chars)
- `topic_type` (string): Topic type. "open_ended" collects free-form video responses instead of fixed options and overrides is_binary.
- `voting_method` (string): Voting method (default plurality)

### `follow_topic` (~40 tokens)

Follow a topic to track it. Followed topics appear under the "following" visibility filter in list_topics.

Input parameters:

- `topicId` (string, required): Topic ID

### `unfollow_topic` (~24 tokens)

Stop following a topic.

Input parameters:

- `topicId` (string, required): Topic ID

### `send_invite` (~57 tokens)

Invite a user to a private topic by phone number or email.

Input parameters:

- `invited_user_email` (string): Email to invite
- `invited_user_phone` (string): Phone number to invite
- `topic_id` (string, required): Topic ID

### `list_topic_invites` (~30 tokens)

List all invites for a topic (creator only).

Input parameters:

- `topicId` (string, required): Topic ID

### `respond_to_invite` (~39 tokens)

Accept or decline a topic invite.

Input parameters:

- `action` (string, required): Whether to accept or decline
- `inviteId` (string, required): Invite ID

### `revoke_invite` (~28 tokens)

Revoke/delete an invite (creator only).

Input parameters:

- `inviteId` (string, required): Invite ID

### `get_voting_results` (~34 tokens)

Get voting results breakdown for a topic (counts per option, percentages).

Input parameters:

- `topicId` (string, required): Topic ID

### `get_all_topic_votes` (~55 tokens)

Get paginated individual votes for a topic.

Input parameters:

- `limit` (integer)
- `page` (integer)
- `sort` (string): Sort by date or position
- `topicId` (string, required): Topic ID

### `summarize_topic` (~82 tokens)

Get a structured summary of a topic in one call: its statement and options, voting results, and AI-generated insights synthesized from video transcripts (synthesis, points of agreement/disagreement, top arguments, and — for the topic owner — per-option themes). Falls back to vote-only data when insights are disabled or unavailable.

Input parameters:

- `topicId` (string, required): Topic ID

### `get_topic_insights` (~75 tokens)

Get the AI-generated insights for a topic: an overall synthesis, points of agreement and disagreement, a sentiment/position chart, top arguments, unaddressed claims, and related subtopics. Topic owners additionally get per-option themes. Requires insights to be enabled on the topic.

Input parameters:

- `topicId` (string, required): Topic ID

### `regenerate_topic_summary` (~57 tokens)

Force a fresh regeneration of a topic's AI summary, ignoring the cache. Useful after new video responses come in. May take 15–30s while the transcripts are re-analyzed.

Input parameters:

- `topicId` (string, required): Topic ID

### `get_top_videos` (~46 tokens)

Get the single most-engaging video response for each option on a topic — a quick way to surface the strongest argument per side.

Input parameters:

- `topicId` (string, required): Topic ID

### `get_topic_conversations` (~48 tokens)

Get the video response pairs (a video and the videos responding to it) for a topic — the back-and-forth exchanges between participants.

Input parameters:

- `topicId` (string, required): Topic ID

### `export_results` (~51 tokens)

Export voting results in a structured format. JSON returns the raw data, CSV returns a text table.

Input parameters:

- `format` (string): Output format (default: json)
- `topicId` (string, required): Topic ID

## Diagnostics

Captured diagnostic sections: Provenance, Vulnerabilities, Dependencies. The full working is on the page: https://verifymcp.io/servers/app-takehub-mcp/takehub-mcp#diagnostics

## Score history

- 2026-08-04: 64
- 2026-08-03: 64
- 2026-08-02: 64
- 2026-08-01: 30
- 2026-07-31: 30
- 2026-07-30: 9
- 2026-07-29: 74
- 2026-07-28: 19
- 2026-07-27: 40

## Links

- npm package: https://www.npmjs.com/package/@takehub/mcp
- Socket report: https://socket.dev/npm/package/@takehub/mcp
- Website: https://takehub.app/
- Changelog RSS feed: https://verifymcp.io/servers/app-takehub-mcp/takehub-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/app-takehub-mcp/takehub-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/app-takehub-mcp/takehub-mcp
