Node.js/TypeScript MCP server for Atlassian Confluence. Provides tools enabling AI systems (LLMs) to list/get spaces & pages (content
CollHub is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Documents, projects, comments, workflows and data sources of your CollHub instance, as tools.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --env 'COLLHUB_URL=${COLLHUB_URL}' --transport stdio collhub-mcp '--' npx -y @collhub/mcp
# 2 — ask your agent for something these tools do
# whoami, login, logout and 70 more
It needs COLLHUB_URL: this reads it from your environment, so export it first.
CollHub costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. This one runs on your machine: your client starts CollHub as a process under your own user, with your files and your network, so the tool surface below is what it can do to your computer rather than to a server somewhere else. Its scan result is on the Security tab — read the surface before you approve it.
This is a public server: you run it yourself and this marketplace is not in the path. You need Node.js — the current LTS (24) is the safe choice; npx comes with it. Claude Code registers it in one command; --scope user makes it available in every project. Claude Code reads COLLHUB_URL (The URL of your CollHub instance. Sign-in happens in your browser; no password is configured) from your environment each time it starts the server, so the value stays out of its config: export it in your shell profile (macOS, Linux), or run setx COLLHUB_URL … and open a new terminal (Windows). The '--' is in quotes so that PowerShell passes it on.
claude mcp add --scope user --env 'COLLHUB_URL=${COLLHUB_URL}' --transport stdio collhub-mcp '--' npx -y @collhub/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
It reaches a system of yours, so it needs settings only you can give it: COLLHUB_URL — The URL of your CollHub instance. Sign-in happens in your browser; no password is configured.. You set it in your own client’s config, on your machine — this marketplace never holds it.
One config entry your client uses to start the process locally. A local server runs with your file system and your network, which is why it is priced without metering.
73 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Who the server is logged in as on the instance:
No parameter schema on file.
Log in to the instance in the browser \u2014 only when the user asks. Plain: resumes the stored session, opens a browser only when there is none.
No parameter schema on file.
Sign out of the instance \u2014 only when the user asks. Ends this host
No parameter schema on file.
Users and groups \u2014 the directory behind principal-typed fields such as a Task\
No parameter schema on file.
No parameter schema on file.
BM25 keyword search in one collection \u2014 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
No parameter schema on file.
No parameter schema on file.
No parameter schema on file.
Read a document
No parameter schema on file.
No parameter schema on file.
No parameter schema on file.
Get the version history of a document.
No parameter schema on file.
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 parameter schema on file.
List available document types that can be created \u2014 the complete list, never a page. Call this before create_document to discover valid types. A type
No parameter schema on file.
Create a document with content, published and unlocked (unlock:false keeps the lock).
No parameter schema on file.
Write markdown to an existing document: the whole content, or from a code-point position onward \u2014
No parameter schema on file.
No parameter schema on file.
Bulk regex find/replace across a document \u2014 the sed/awk-style tool. Each rule:
No parameter schema on file.
Re-sequence a document
No parameter schema on file.
Stamp status markers (\u2705 \u{1F6A7} \u2B1C \u23F8\uFE0F) on headings addressed by NUMBER (
No parameter schema on file.
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 \u2014 there is no other refresh.
No parameter schema on file.
Read a named stream from a document as text. System streams are
No parameter schema on file.
Write content to a named stream on a document. Locks the document if not already locked. Commits automatically. The document is left locked after writing. The name declares the type: a system stream (
No parameter schema on file.
Set metadata field values on a document \u2014 collection fields plus the document type
No parameter schema on file.
Rename a document by changing its
No parameter schema on file.
Move a document to another folder, project or collection: parent_id for a container (folder or project root \u2014 the document lands inside it), collection_id alone for that collection
No parameter schema on file.
List labels \u2014 the complete list, never a page \u2014 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 parameter schema on file.
Add or remove labels on a document. Use list_labels to discover available label IDs. Use get_document_info with include=[
No parameter schema on file.
Regex matches in a document
No parameter schema on file.
No parameter schema on file.
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 parameter schema on file.
List available collections. Use this first to discover collection IDs before searching or browsing documents.
No parameter schema on file.
Get full details of a collection including permissions and configuration. Its
No parameter schema on file.
Create a new collection. Collections group related documents with custom metadata schemas. Set is_hierarchical=true when the user asks for a
No parameter schema on file.
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 parameter schema on file.
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 \u2014 a flat collection, or a hierarchical collection
No parameter schema on file.
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 \u2014 collection fields merged with the type\
No parameter schema on file.
No parameter schema on file.
Create a project in a hierarchical collection, scaffolded from a template, in one call. Its own markdown is the BRIEF: unless scaffold=false the template
No parameter schema on file.
No parameter schema on file.
Read a page of the project graph: the subtree\
No parameter schema on file.
No parameter schema on file.
The project ontology: the kinds apply_project accepts (group, description, lifecycle policy), the configured methodologies with their guidance, and contexts. SVG icons only with include_icons.
No parameter schema on file.
The project templates create_project can scaffold from \u2014 each a brief skeleton + anchor documents, stamping its like-named methodology on the project.
No parameter schema on file.
Create a label. A dot path creates missing parents as unassignable (
No parameter schema on file.
No parameter schema on file.
No parameter schema on file.
Add a comment \u2014 one, or MANY in one call. Modes: (1) whole_document=true \u2014 no anchor, pinned at the top, for remarks about the document as a whole; (2) section_id \u2014 the section
No parameter schema on file.
Toggle the resolved status of a comment.
No parameter schema on file.
Delete a comment from a document.
No parameter schema on file.
The user
No parameter schema on file.
Bookmark a document or a section for the user (their private pointer \u2014 visible in their bookmarks panel). Pass document_id for a whole-document bookmark, or section_id (durable id from get_document_toc or a passage
No parameter schema on file.
Remove one of the user
No parameter schema on file.
List available relationship types \u2014 the complete list, never a page. Call this before create_relationship to discover valid types and their directional labels.
No parameter schema on file.
A document\
No parameter schema on file.
Create a typed relationship from document_id to dst_document_id (type_id from list_relationship_types; for the inverse direction swap the endpoints). NOT for a plain reference a body link already derives \u2014 see the guide\
No parameter schema on file.
Delete a relationship from a document.
No parameter schema on file.
List available data sources. Returns source names and schemas.
No parameter schema on file.
Query rows from a data source. Supports PostgREST-style filters, column selection, ordering, and limits.
No parameter schema on file.
Create a new data source from JSON data. Columns and types are auto-inferred from the data. An
No parameter schema on file.
Insert one or more records into an existing data source.
No parameter schema on file.
Update records in a data source matching the given filters.
No parameter schema on file.
Delete records from a data source matching the given filters.
No parameter schema on file.
List the configured CollHub instances. Pass an instance name as the
No parameter schema on file.
List AI chat threads. Returns id, name, type, status, and timestamps.
No parameter schema on file.
Messages in a thread, chronological: role, content, attachments, tool calls. Paged \u2014 the result is {thread_id, messages, next}, and
No parameter schema on file.
Send a message to a thread and wait for the agent response (no thread_id = a new
No parameter schema on file.
List all workflow definitions with their steps \u2014 the complete list, never a page; enough to find a workflow
No parameter schema on file.
Get the full definition of a workflow: all steps (states), transitions (directed edges between steps) and accepted_types \u2014 the document types it applies to, as [{type_id, type_name}]. Use to understand the complete lifecycle graph before transitioning a document.
No parameter schema on file.
List the workflows that can be applied to a document, based on its document type. Returns each workflow with its steps. To put the document into a workflow, call set_document_status with the id of that workflow
No parameter schema on file.
The valid transitions from a document
No parameter schema on file.
Change a document
No parameter schema on file.
No parameter schema on file.
- Every tool, no call limit
- No card, and mcprush charges nothing for it
- Source published under MIT
- Runs on your machine — nothing of it reaches our gateway
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install CollHub or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| verification-discount | none | publisher verification (unlinked) — no provenance/repo link, but the shipped source was fully read | −2 |
| coverage-honesty | source | inspection depth (source) — how much of the target the scan could see | −0 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
Tools were statically extracted from the published source (73 recovered), not enumerated from a running server. Tool-poisoning, Unicode-smuggling, capability and toxic-flow analysis ran on this inferred surface, but a mis-parsed registration could be missed or mis-attributed, so tool-derived findings are capped below “confirmed”. To grade the real runtime surface, scan the running server: --command "npx -y <package>".
1 of the 73 recovered tools are registered only when ie.length>1 holds (dist/index.js:64) — typically when a key or option is configured. They are part of the server's surface and were analysed; a server started without that configuration exposes only the other 72.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
72 tools are registered unconditionally · 1 more only when ie.length>1 holds (dist/index.js:64) — typically when a key or option is configured. All 73 are in the table below and were analysed; the conditional ones are marked.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| whoami | no tags | |
| login | no tags | |
| logout | no tags | |
| list_principals | no tags | |
| search_documents | no tags | |
| find | no tags | |
| find_similar | no tags | |
| get_document_info | no tags | |
| read_document | no tags | |
| read_documents | no tags | |
| get_document_passages | no tags | |
| get_document_history | no tags | |
| diff_versions | no tags | |
| list_document_types | no tags | |
| create_document | no tags | |
| write_document | no tags | |
| edit_document | no tags | |
| replace_in_document | no tags | |
| renumber_document | no tags | |
| mark_headings | no tags | |
| unlock_document | no tags | |
| read_stream | no tags | |
| write_stream | no tags | |
| update_metadata | no tags | |
| rename_document | no tags | |
| move_document | no tags | |
| convert_document | no tags | |
| list_labels | no tags | |
| update_labels | no tags | |
| locate_regex | no tags | |
| get_document_toc | no tags | |
| upload_document | no tags | |
| list_collections | no tags | |
| get_collection | no tags | |
| create_collection | no tags | |
| create_folder | no tags | |
| list_folder | no tags | |
| list_metadata_fields | no tags | |
| list_projects | no tags | |
| create_project | no tags | |
| get_project_brief | no tags | |
| get_project_graph | no tags | |
| apply_project | no tags | |
| list_node_kinds | no tags | |
| list_project_templates | no tags | |
| create_label | no tags | |
| update_label | no tags | |
| list_comments | no tags | |
| add_comment | no tags | |
| resolve_comment | no tags | |
| delete_comment | no tags | |
| list_bookmarks | no tags | |
| add_bookmark | no tags | |
| remove_bookmark | no tags | |
| list_relationship_types | no tags | |
| list_relationships | no tags | |
| create_relationship | no tags | |
| delete_relationship | no tags | |
| list_data_sources | no tags | |
| query_data_source | no tags | |
| create_data_source | no tags | |
| insert_records | no tags | |
| update_records | no tags | |
| delete_records | no tags | |
| list_instances conditional | no tags | |
| list_threads | no tags | |
| list_thread_messages | untrusted-input | untrusted-input: keyword "read_message" |
| send_message | external-sink | external-sink: keyword "send_message" |
| list_workflows | no tags | |
| get_workflow | no tags | |
| list_eligible_workflows | no tags | |
| list_next_steps | no tags | |
| set_document_status | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
Always latest — the install command names no version, so it installs the newest release when it runs; the current release on file is 1.2.1. Pin a release below and the command asks for exactly that one.
No release note was published with this version.
No release note was published with this version.
No release note was published with this version.
No release note was published with this version.
No release note was published with this version.
- The version this listing was on when mcprush began following its releases. The registry was not asked when it shipped, so this row carries no date.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish CollHub can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.