Project Hub - MCP Tools
Reference of the 43 tools of the Project Hub MCP server project-hub-mcp: projects, links, contacts, notes, attachments, search, knowledge, project types, reports, export and import.
Project Hub - MCP Tools
The MCP server is called project-hub-mcp and provides 43 tools. The skills call them. You can also ask Claude directly to use a tool, for example for project links.
The plugin reads and writes all project, contact, note and session data exclusively through these tools. The SQLite file should not be edited directly.
Session
| Tool | Purpose |
|---|---|
tool_get_session |
Read the active project and the last used skill |
tool_set_session |
Set the active project by slug or name |
tool_clear_session |
Clear the active selection |
Projects
| Tool | Purpose |
|---|---|
tool_list_projects |
List projects page by page, optionally filtered by status (active, paused, completed, cancelled) |
tool_get_project |
Load a project by slug or name, including links. The name lookup ignores case for ASCII letters only |
tool_get_project_by_id |
Load a project by numeric ID |
tool_create_project |
Create a project and its docs folder, error if the slug exists |
tool_update_project |
Change fields, only non-empty values are written |
tool_delete_project |
Delete a project irreversibly |
tool_list_docs |
List the files in a project's docs folder |
tool_delete_project removes the project's contacts, notes and links and its entire docs folder including attachments. Shared contacts are reassigned to another project first. The tool has no safety check and is intended for the test skills, no skill for everyday use calls it.
Project links
| Tool | Purpose |
|---|---|
tool_link_project |
Link two projects: successor, predecessor or related |
tool_unlink_project |
Remove a link, regardless of direction and type |
successormeans the first project is the successor of the second.predecessoris the opposite direction,relatedis symmetric.- A pair of projects can have only one link. Unlink first to change it.
- A project cannot be linked to itself.
Contacts
| Tool | Purpose |
|---|---|
tool_list_contacts |
Contacts of a project, optionally by internal or external |
tool_list_shared_contacts |
All shared contacts, with their originating project |
tool_add_contact |
Add a contact |
tool_update_contact |
Change a contact, including is_shared |
tool_delete_contact |
Delete a contact |
tool_search_contacts |
Search name, role, email, company, with project_id=0 across all projects |
Rules for shared contacts:
- Only internal contacts can be shared.
- A contact with the same name (after normalizing spelling, umlauts and the "Last name, First name" order) or the same email address as a shared contact is rejected and cannot be forced.
- For very similar names the server only blocks contacts that are themselves meant to be shared. With
force=truethis can be bypassed after explicit confirmation. - Lists are paged (default 50 entries,
limitandoffset).
Notes
| Tool | Purpose |
|---|---|
tool_list_notes |
Notes of a project, newest first, optionally filtered by type |
tool_get_note |
Load a single note |
tool_add_note |
Create a note, optionally with source_paths to preserve the original files |
tool_update_note |
Change title, content, type or agenda, only non-empty values are written |
tool_delete_note |
Delete a note |
tool_search_notes |
Search title and content, with project_id=0 across all projects |
Valid note types: note, meeting-notes, email, decision, action-item.
Both search tools (
tool_search_contacts,tool_search_notes) use SQLLIKE. Case is ignored for ASCII letters only, umlauts must match exactly.%and_in a search term are not escaped and act as wildcards.
Attachments
Attachments belong to a note and are addressed by note ID.
| Tool | Purpose |
|---|---|
tool_attach_file |
Copy one file into the note's attachments folder |
tool_attach_files |
Several files at once, individual failures do not abort the rest |
tool_list_attachments |
List a note's attachments |
tool_remove_attachment |
Remove an attachment by file name, including its Markdown copy |
Protection rules:
- Only files below your home directory are accepted.
- Paths with hidden folders or files (names with a leading dot, such as
~/.ssh/) are rejected. - Directories and special files are rejected.
~is not expanded, full absolute paths are required.- An existing file of the same name is not overwritten, the server appends a counter (
invoice-2.pdf). - For files over 10 MB the server only writes a warning to its log.
- For PDF, DOCX, XLSX and other formats the server places a
<name>.mdfile next to the attachment where possible. Images, Markdown files and already existing names are skipped, and a conversion error does not prevent the attachment.
Knowledge documents
| Tool | Purpose |
|---|---|
tool_list_knowledge |
List the topics of a project type |
tool_get_knowledge |
Load one document |
tool_get_all_knowledge |
Load all documents of a type with their content |
tool_save_knowledge |
Write or overwrite a document |
tool_delete_knowledge |
Delete a document |
tool_sync_knowledge_templates |
Compare bundled templates with the installed ones, copy with force=true |
The topic is the file name without .md. The topic is checked against paths outside the type folder, the project type is not (see Privacy and security).
Project types and templates
| Tool | Purpose |
|---|---|
tool_list_project_types |
List built-in and custom types |
tool_get_project_type |
Load details and README of a type |
tool_create_project_type |
Create a custom type |
tool_delete_project_type |
Delete a custom type, built-in types are protected |
tool_get_project_template |
Get the template of a type, otherwise the generic one |
tool_create_project_from_template |
Create a project from a filled-in template (text or .md file) |
Reports, export and import
| Tool | Purpose |
|---|---|
tool_generate_report |
Write an HTML report full, summary or all-projects |
tool_export_project |
Export a project with contacts, notes and links as JSON |
tool_import_project |
Read a project from an export file, strategy skip, rename or overwrite |
The offline parameter of tool_generate_report is reserved and has no effect. The report lists all action items without a completion filter. Details on export and import are under Technical details.