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.
| 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 |
| 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.
| Tool | Purpose |
|---|---|
tool_link_project |
Link two projects: successor, predecessor or related |
tool_unlink_project |
Remove a link, regardless of direction and type |
successor means the first project is the successor of the second. predecessor is the opposite direction, related is symmetric.| 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:
force=true this can be bypassed after explicit confirmation.limit and offset).| 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 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:
~/.ssh/) are rejected.~ is not expanded, full absolute paths are required.invoice-2.pdf).<name>.md file next to the attachment where possible. Images, Markdown files and already existing names are skipped, and a conversion error does not prevent the attachment.| 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).
| 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) |
| 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.