@collhub/mcp

MCPcommunity
v1.0.1UnknownMITUpdated 2d agonpm

MCP server for CollHub: documents, projects, comments, workflows and data sources as tools for Claude Code, Claude Desktop, Cursor, VS Code and Codex

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
264Downloads/wk
2d agoLast update
Package
AuthorUnknown
LicenseMIT
Version1.0.1
Sourcenpm+mcp-registry
Trust Status
B
60/100Good
Listed in Forge index+10/10
Publisher identity verified+0/20
Publisher: run `forge publish` from the package repo to claim ownership
Ed25519 publish signature+0/5
Included automatically when the publisher runs `forge publish`
Domain verification+0/5
Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
npm Trusted Publishing (Sigstore)+0/5
Publish from GitHub Actions with --provenance so the attestation binds this package to this repo
npm maintainer match+0/5
Earned once your identity is verified above and that login is an npm maintainer of this package
CVE scan · clean+30/30
Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain
Provenance
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface40 tools · 6 privileged
Security scan✓ Cleanv1.0.1 · todayHow well does this scan work?
EvalsNone
IndexedSep 23, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

40 tools · 6 privileged
Statically extracted from the published packagev1.0.1 · 15h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

whoamiWho the server is logged in as on the instance: `user` (email, name) first, then the session (the host profile it belongs to) and the account (id, privileges, memberships). Answer a "who am I logged in as" question with the email.

Who the server is logged in as on the instance: `user` (email, name) first, then the session (the host profile it belongs to) and the account (id, privileges, memberships). Answer a "who am I logged in as" question with the email.

No input schema was published for this tool.

loginLog in to the instance in the browser — only when the user asks. Plain: resumes the stored session, opens a browser only when there is none. `switch_user`: opens the browser on the login form (signing the browser out first), so a different account can be entered even when the browser is already sig…

Log in to the instance in the browser — only when the user asks. Plain: resumes the stored session, opens a browser only when there is none. `switch_user`: opens the browser on the login form (signing the browser out first), so a different account can be entered even when the browser is already sig…

No input schema was published for this tool.

logoutSign out of the instance — only when the user asks. Ends this host's session on the backend and forgets it here; the user's other sessions and the app stay signed in. The next call to that instance opens a browser login.

Sign out of the instance — only when the user asks. Ends this host's session on the backend and forgets it here; the user's other sessions and the app stay signed in. The next call to that instance opens a browser login.

No input schema was published for this tool.

list_principalsUsers and groups — the directory behind principal-typed fields such as a Task's `assignee`, which accept a name on write but store a numeric id. `query` (case-insensitive substring of username, first/last name, email or group name) turns "luca" into the id; `ids` labels ids read back from a documen…

Users and groups — the directory behind principal-typed fields such as a Task's `assignee`, which accept a name on write but store a numeric id. `query` (case-insensitive substring of username, first/last name, email or group name) turns "luca" into the id; `ids` labels ids read back from a documen…

No input schema was published for this tool.

search_documentsHybrid semantic + full-text search in one collection; collection_id=0 lists/filters across ALL collections (system fields only, no query). Structured filters need field names from list_metadata_fields; cursor pages. Each query hit reports WHERE it matched: by default the distinct sections holding i…

Hybrid semantic + full-text search in one collection; collection_id=0 lists/filters across ALL collections (system fields only, no query). Structured filters need field names from list_metadata_fields; cursor pages. Each query hit reports WHERE it matched: by default the distinct sections holding i…

No input schema was published for this tool.

findBM25 keyword search in one collection — exact terms, ranked by lexical relevance (search_documents for semantic queries). The top results carry their best passages with content and enclosing-section context (breadcrumb, span, durable uri); every result reports `matches`, its total matching passages…

BM25 keyword search in one collection — exact terms, ranked by lexical relevance (search_documents for semantic queries). The top results carry their best passages with content and enclosing-section context (breadcrumb, span, durable uri); every result reports `matches`, its total matching passages…

No input schema was published for this tool.

find_similarNo description published

This tool published no description. Forge does not invent one.

get_document_infoNo description published

This tool published no description. Forge does not invent one.

read_documentNo description published

This tool published no description. Forge does not invent one.

read_documentsNo description published

This tool published no description. Forge does not invent one.

get_document_passagesNo description published

This tool published no description. Forge does not invent one.

get_document_historyGet the version history of a document.

Get the version history of a document.

No input schema was published for this tool.

diff_versionsCompare two versions of a document and return a unified diff. Use get_document_history to discover available version numbers. Omit from_version to diff against an empty document (i.e. see everything added in to_version).

Compare two versions of a document and return a unified diff. Use get_document_history to discover available version numbers. Omit from_version to diff against an empty document (i.e. see everything added in to_version).

No input schema was published for this tool.

list_document_typesList available document types that can be created — the complete list, never a page. Call this before create_document to discover valid types. A type's `instructions` (own or inherited from its parent type) say how its documents are written — what the body must and must not contain: FOLLOW them whe…

List available document types that can be created — the complete list, never a page. Call this before create_document to discover valid types. A type's `instructions` (own or inherited from its parent type) say how its documents are written — what the body must and must not contain: FOLLOW them whe…

No input schema was published for this tool.

create_documentNo description published

This tool published no description. Forge does not invent one.

write_documentprivilegedNo description published

This tool published no description. Forge does not invent one.

edit_documentprivilegedNo description published

This tool published no description. Forge does not invent one.

replace_in_documentNo description published

This tool published no description. Forge does not invent one.

renumber_documentNo description published

This tool published no description. Forge does not invent one.

mark_headingsNo description published

This tool published no description. Forge does not invent one.

unlock_documentUnlock a document after editing. Call this when done writing to release the lock. Unlocking PUBLISHES: it mints the new version and re-extracts the section tree, so a stale TOC (spans_fresh: false) is refreshed by this call — there is no other refresh.

Unlock a document after editing. Call this when done writing to release the lock. Unlocking PUBLISHES: it mints the new version and re-extracts the section tree, so a stale TOC (spans_fresh: false) is refreshed by this call — there is no other refresh.

No input schema was published for this tool.

read_streamRead a named stream from a document as text. System streams are "draft" (Markdown), "data" (JSON), "style" (CSS: the theme binding and the document's own rules) and "theme" (CSS: the private slot overlay); an application stream carries a typed extension (props.json, notes.md). A stream whose type i…

Read a named stream from a document as text. System streams are "draft" (Markdown), "data" (JSON), "style" (CSS: the theme binding and the document's own rules) and "theme" (CSS: the private slot overlay); an application stream carries a typed extension (props.json, notes.md). A stream whose type i…

No input schema was published for this tool.

write_streamprivilegedNo description published

This tool published no description. Forge does not invent one.

update_metadataSet metadata field values on a document — collection fields plus the document type's own (a Task's assignee, due_date, priority; list_metadata_fields with the type_id shows them). Keys are each field's metadata_key; bare type-field names are auto-prefixed to `type:`. Partial merge: only the given f…

Set metadata field values on a document — collection fields plus the document type's own (a Task's assignee, due_date, priority; list_metadata_fields with the type_id shows them). Keys are each field's metadata_key; bare type-field names are auto-prefixed to `type:`. Partial merge: only the given f…

No input schema was published for this tool.

rename_documentprivilegedRename a document by changing its `name` field. File-named documents keep their extension ("Report Q3.pdf"); typed documents keep plain titles (see the guide's "Creating documents"). Does not change collection, content, or version. To move across collections or folders, use move_document.

Rename a document by changing its `name` field. File-named documents keep their extension ("Report Q3.pdf"); typed documents keep plain titles (see the guide's "Creating documents"). Does not change collection, content, or version. To move across collections or folders, use move_document.

No input schema was published for this tool.

move_documentprivilegedNo description published

This tool published no description. Forge does not invent one.

list_labelsList labels — the complete list, never a page — to find ids for update_labels or check existence before create_label. Empty fields are left out; the document_deny_* ACL lists only with include_deny.

List labels — the complete list, never a page — to find ids for update_labels or check existence before create_label. Empty fields are left out; the document_deny_* ACL lists only with include_deny.

No input schema was published for this tool.

update_labelsAdd or remove labels on a document. Use list_labels to discover available label IDs. Use get_document_info with include=["labels"] to see current labels.

Add or remove labels on a document. Use list_labels to discover available label IDs. Use get_document_info with include=["labels"] to see current labels.

No input schema was published for this tool.

locate_regexNo description published

This tool published no description. Forge does not invent one.

get_document_tocNo description published

This tool published no description. Forge does not invent one.

upload_documentprivilegedUpload a local file as a new document. Reads the file as binary, auto-detects the document type from the file extension (include it in the name), creates the document, writes content, commits, and unlocks in one step. Use this for importing files (markdown, PDF, images, etc.) into a collection.

Upload a local file as a new document. Reads the file as binary, auto-detects the document type from the file extension (include it in the name), creates the document, writes content, commits, and unlocks in one step. Use this for importing files (markdown, PDF, images, etc.) into a collection.

No input schema was published for this tool.

list_collectionsList available collections. Use this first to discover collection IDs before searching or browsing documents.

List available collections. Use this first to discover collection IDs before searching or browsing documents.

No input schema was published for this tool.

get_collectionGet full details of a collection including permissions and configuration. Its `instructions`, when set, say how documents there are written and handled: follow them for every document of the collection.

Get full details of a collection including permissions and configuration. Its `instructions`, when set, say how documents there are written and handled: follow them for every document of the collection.

No input schema was published for this tool.

create_collectionCreate a new collection. Collections group related documents with custom metadata schemas. Set is_hierarchical=true when the user asks for a "hierarchical collection" or "collection with folders".

Create a new collection. Collections group related documents with custom metadata schemas. Set is_hierarchical=true when the user asks for a "hierarchical collection" or "collection with folders".

No input schema was published for this tool.

create_folderCreate a folder inside a hierarchical collection. The collection must have is_hierarchical=true. Use parent_id to nest folders within other folders, or omit to create at the root level.

Create a folder inside a hierarchical collection. The collection must have is_hierarchical=true. Use parent_id to nest folders within other folders, or omit to create at the root level.

No input schema was published for this tool.

list_folderList the contents of a folder or project, folders and projects first (an is_folder item can be listed further by its id). For navigating INSIDE a hierarchical collection — a flat collection, or a hierarchical collection's top level, is listed with search_documents(collection_id). depth: 1 (default)…

List the contents of a folder or project, folders and projects first (an is_folder item can be listed further by its id). For navigating INSIDE a hierarchical collection — a flat collection, or a hierarchical collection's top level, is listed with search_documents(collection_id). depth: 1 (default)…

No input schema was published for this tool.

list_metadata_fieldsMetadata fields and their types. Without type_id: the collection-level fields (the filter fields for search_documents). With type_id: the EFFECTIVE schema of that document type in the collection — collection fields merged with the type's own (a Task's assignee, due_date, priority, estimate). When W…

Metadata fields and their types. Without type_id: the collection-level fields (the filter fields for search_documents). With type_id: the EFFECTIVE schema of that document type in the collection — collection fields merged with the type's own (a Task's assignee, due_date, priority, estimate). When W…

No input schema was published for this tool.

list_projectsList projects across all collections (most recently modified first). A project is a special folder that anchors AI project workflows. Take one in with get_project_brief (brief + counts, sizes the graph read) then get_project_graph; list_folder walks its file tree, set_document_status advances its w…

List projects across all collections (most recently modified first). A project is a special folder that anchors AI project workflows. Take one in with get_project_brief (brief + counts, sizes the graph read) then get_project_graph; list_folder walks its file tree, set_document_status advances its w…

No input schema was published for this tool.

create_projectNo description published

This tool published no description. Forge does not invent one.

get_project_briefNo description published

This tool published no description. Forge does not invent one.

23 of 40 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

MCP server for CollHub: documents, projects, comments, workflows and data sources as tools for Claude Code, Claude Desktop, Cursor, VS Code and Codex

Keywords
mcpmodel-context-protocolcollhubdocumentsknowledge-managementclaude
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-09-23 — observed resolution, not a publisher declaration.

60 packages resolved · 3 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the depth-4 limit. Anything below that level was never resolved.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

55 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+43 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.

Topics

Related in documents & pdfs