basecamp-mcp (stefanoverna/basecamp-mcp) is an MCP server listed on the M8ven Trust Index. It scores 20 out of 100, grade F. It declares 47 tools. No publisher has claimed this listing.

Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

stefanoverna

Source: ModelScope

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Secret credentials may flow to a network call
2 flows detected: BASECAMP_CLIENT_SECRET. We can’t prove the destination matches the brand the credential belongs to.
⚠️
Tool annotations don’t match behaviour
2 read-only tools perform write/delete/exec — basecamp_get_upload (line 32: mkdirSync(DOWNLOAD_DIR, { recursive: true })); basecamp_download_blob (line 32: mkdirSync(DOWNLOAD_DIR, { recursive: true }))
⚠️
Tool descriptions don’t match what handlers do
1 tool describes read intent but its handler mutates — basecamp_get_upload (line 32: mkdirSync(DOWNLOAD_DIR, { recursive: true }))
⚠️
Known vulnerabilities in dependencies: 3 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
🔐
You'll be asked for 2 credentials: ANTHROPIC_API_KEY, BASECAMP_CLIENT_SECRET
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes47 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

basecamp_list_recordings

Browse recent activity across Basecamp by listing recordings. Recordings represent all content in Basecamp: todos, messages, documents, comments, uploads, and more. Use this tool to: - See what's been happening across all projects or specific projects - Find recent activity by one or more people -

basecamp_login
basecamp_logout

Remove stored Basecamp credentials.

basecamp_whoami

Check login state: show whether you're authenticated and, if so, the basic Basecamp user + account id. For your full profile (id, title, attachable_sgid) use basecamp_get_me.

basecamp_list_campfire_messages

Browse chat messages from Basecamp Campfires. Campfires are real-time chat rooms within projects. Use this tool to: - See recent chat activity across all campfires or specific ones - Find messages from specific people - Search message content for keywords - Review chat history since a specific date

basecamp_get_questionnaire

Get the questionnaire (check-ins container) for a project. Returns the number of questions and their URL.

basecamp_list_questions

List all automatic check-in questions in a questionnaire. Returns each question's title, schedule, paused status, and answer count.

basecamp_get_question

Get a single automatic check-in question with its schedule and metadata.

basecamp_list_answers

List answers to a specific check-in question. Returns each answer's content, author, and check-in date.

basecamp_get_answer

Get a single check-in answer by its ID.

basecamp_create_answer

Create a new answer for a check-in question. Content must be HTML.

basecamp_list_comments

List comments on any Basecamp resource (message, todo, card, etc.). Works universally on all recording types.

basecamp_create_comment

Add a comment to any Basecamp resource (message, todo, card, etc.).

basecamp_update_comment
basecamp_list_vaults

List sub-vaults (folders) under a parent vault in the Docs & Files section.

basecamp_get_vault

Get details of a vault (folder) including document/upload/sub-vault counts.

basecamp_create_vault

Create a new vault (folder) under a parent vault.

basecamp_update_vault

Update the title of a vault (folder).

basecamp_list_documents

List documents in a vault.

basecamp_get_document

Retrieve a single document with its full content.

basecamp_create_document
basecamp_update_document
basecamp_list_uploads

List files uploaded to a vault in the Docs & Files section.

basecamp_get_upload

Get a file uploaded to a vault. For images, returns the image content that the LLM can see directly. For text-based files (plain text, CSV, JSON, XML, etc.), returns the file content as text. For other binary formats, returns metadata only.

basecamp_download_blob

Download an inline attachment from a <bc-attachment> tag found in document/message/comment HTML content. Extract the blob_id and filename from the href attribute (format: https://storage.3.basecamp.com/{accountId}/blobs/{blobId}/download/{filename}). For images, returns the image content that the LL

basecamp_list_kanban_columns

List all columns in a kanban board.

basecamp_list_kanban_cards

List cards in a kanban column.

basecamp_get_kanban_card

Get all details of a specific kanban card.

basecamp_create_kanban_card
basecamp_update_kanban_card
basecamp_move_kanban_card

Move a kanban card to a different column and/or position within that column.

basecamp_get_message

Retrieve a single message from a Basecamp message board.

basecamp_list_messages

List messages in a Basecamp message board (a single project). For cross-project or time-based browsing across content types, use basecamp_list_recordings instead.

basecamp_list_message_types

List available message types/categories for a Basecamp project

basecamp_create_message

Create a new message in a Basecamp message board.

basecamp_update_message
basecamp_get_me

Get your full profile for the authenticated user (id, name, email, title, attachable_sgid). To simply check whether you're logged in, use basecamp_whoami.

basecamp_list_people

List all people in the Basecamp account.

basecamp_get_person

Get details about a specific person.

basecamp_list_projects

List all projects visible to the authenticated user in a Basecamp account. This tool returns active projects with their IDs, names, descriptions, and metadata. Use this to discover project/bucket IDs needed for accessing messages, todos, and other resources.

basecamp_get_project

Fetch detailed information about a specific Basecamp project. This tool retrieves complete project details including name, description, dock configuration, and metadata. Examples: - Use when: "Get details for project 12345" - Use when: Need full project information including dock configuration

basecamp_get_todoset

Get todo set container for a project. Returns todo lists and groups.

basecamp_list_todos

List todos in a todo list. Filter by status: 'active' or 'archived'.

basecamp_create_todo
basecamp_complete_todo

Mark a todo as completed.

basecamp_uncomplete_todo

Mark a todo as incomplete (undo completion).

basecamp_update_todo
// known CVEs in dependencies3 high

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

high@modelcontextprotocol/sdk@1.20.2GHSA-345p-7cg4-v4c7

@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse

high@modelcontextprotocol/sdk@1.20.2GHSA-8r9q-7v3j-jr4g

Anthropic's MCP TypeScript SDK has a ReDoS vulnerability

high@modelcontextprotocol/sdk@1.20.2GHSA-w48q-cv73-mx4w

Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
🔐 secretANTHROPIC_API_KEY
configBASECAMP_CLIENT_IDYour Basecamp OAuth client ID
🔐 secretBASECAMP_CLIENT_SECRETYour Basecamp OAuth client secret
// quality suggestions

Tool annotations match behaviour

2 read-only tools perform write/delete/exec — basecamp_get_upload (line 32: mkdirSync(DOWNLOAD_DIR, { recursive: true })); basecamp_download_blob (line 32: mkdirSync(DOWNLOAD_DIR, { recursive: true }))

Either remove the readOnlyHint:true annotation, or remove the write/delete call from the tool handler.

Descriptions match behaviour

1 tool describes read intent but its handler mutates — basecamp_get_upload (line 32: mkdirSync(DOWNLOAD_DIR, { recursive: true }))

Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.

Tool inputs are validated

44/47 tool handlers declare input schemas (94%)

Declare an inputSchema with zod/joi/yup on every tool definition.

License file

No license file

Add a LICENSE file (MIT, Apache-2.0, etc.).

Shell command execution

1 call in production code run through a shell (src/utils/oauth.ts:44)

Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.

Secrets not logged

5 secret values sent to log

Redact or omit secret values from log output.

Production dependencies are patched

0 critical, 3 high severity in production deps — @modelcontextprotocol/sdk@1.20.2 (high), @modelcontextprotocol/sdk@1.20.2 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Tool description accuracy

basecamp_get_upload: description implies read-only but handler writes/deletes/executes

Update tool descriptions to accurately reflect all capabilities — especially write, delete, or execute operations.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 8 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/stefanoverna/basecamp-mcp?variant=verified)](https://m8ven.ai/mcp/stefanoverna/basecamp-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 74f93d699ce3c1919bda54d67848b34b497e290f
code hash: 0c4a747ade3af01722242133f5a8b2a65bc758270e98ab4dba489a53c748f822
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client