# MCP Tool Reference ## Git (`git_*`) `repo_path` passed per call. All git actions execute immediately without confirmation. | Tool | Purpose | |------|---------| | `git_status(repo_path)` | Working tree status | | `git_add(repo_path, files)` | Stage files | | `git_commit(repo_path, message)` | Commit staged changes | | `git_diff_unstaged(repo_path)` | Unstaged changes | | `git_diff_staged(repo_path)` | Staged changes | | `git_diff(repo_path, target)` | Diff vs branch/commit | | `git_log(repo_path, max_count, start_timestamp, end_timestamp)` | Commit history | | `git_branch(repo_path, branch_type)` | List branches | | `git_create_branch(repo_path, branch_name, base_branch)` | Create branch | | `git_checkout(repo_path, branch_name)` | Switch branch | | `git_show(repo_path, revision)` | Show commit | | `git_reset(repo_path)` | Unstage all | ## Jira ESIDEPAISY tickets: German language, terminal status = "Accepted", `customfield_10001` mandatory. | Tool | Purpose | |------|---------| | `list_tickets(jql_search)` | Search by JQL | | `retrieve_ticket_details(issue_key)` | Full details | | `create_ticket(project_key, summary, description)` | Create | | `update_ticket_fields(issue_key, fields)` | Update fields | | `update_status(issue_key, status)` | Transition | | `add_comment_to_ticket(issue_key, comment)` | Comment | | `update_comment(issue_key, comment_id, body)` | Edit comment | | `ticket_assignment(issue_key, assignee)` | Assign | | `my_tickets_to_work()` | My backlog/in-progress | | `get_agile_boards(project_key)` | List boards | | `get_sprints_from_board(board_id, states)` | List sprints | | `get_tickets_from_sprint(sprint_id)` | Sprint tickets | | `get_tickets_from_backlog(board_id)` | Backlog | | `add_attachment_to_ticket(issue_key, file_path)` | Attach file | | `download_single_attachment(issue_key, attachment_id, path)` | Download | | `get_available_fields()` | List custom fields | ## Confluence | Tool | Purpose | |------|---------| | `search_confluence_by_cql(cql_search)` | Search pages | | `get_page_content(page_id)` | Read page | | `create_page(space_key, title, content)` | Create | | `update_page(page_id, content)` | Update | | `add_comment_to_page(page_id, comment)` | Comment | | `get_page_labels / add_page_label / remove_page_label` | Label management | | `export_as_pdf(page_id)` | Export as PDF | | `get_all_spaces()` | List spaces | ## Bitbucket | Tool | Purpose | |------|---------| | `list_projects / list_repositories_by_project` | Browse | | `list_prs_for_repository(project_key, repo_slug)` | List PRs | | `get_pull_request / get_pull_request_diff / get_pull_request_comments / get_pull_request_changed_files` | PR details | | `create_pull_request(project_key, repo_slug, title, description, from_branch)` | Open PR | | `create_branch / list_branches` | Branch management | | `find_file(project_key, repo_slug, file_path, branch)` | Read file | | `commit_file(project_key, repo_slug, branch, file_path, content, commit_message)` | Commit | ## PDF Generator **Always ask Patrick which color scheme before calling `generate_pdf`.** Available: `adp` (red), `royal_purple`, `ocean`, `forest`, `sunset`, `slate`, `rose`. | Tool | Purpose | |------|---------| | `generate_pdf(content, title, author, classification, logo, output_path, color_scheme)` | Branded PDF | | `read_pdf(file_path, pages)` | Extract text + metadata | | `generate_pptx(content, title, subtitle, author, template, output_path)` | ADP-branded PPTX | | `read_pptx(file_path)` | Extract slide content | ## Office (`office_*`) When a `.xlsx` or `.docx` path appears in conversation, **offer to read it immediately**. | Tool | Purpose | |------|---------| | `office_excel_list_sheets(file_path)` | Sheet names | | `office_excel_read_sheet(file_path, sheet_name)` | Rows | | `office_excel_get_cell(file_path, cell)` | Single cell | | `office_excel_get_named_ranges(file_path)` | Named ranges | | `office_word_read(file_path)` | Full content | | `office_word_list_headings(file_path)` | Outline | | `office_word_read_table(file_path, table_index)` | Table | ## WebScraper (`webscraper_*`) | Tool | Purpose | |------|---------| | `webscraper_fetch(url)` | Page → markdown | | `webscraper_fetch_links(url)` | All hrefs | | `webscraper_fetch_tables(url)` | HTML tables | | `webscraper_fetch_all(url)` | Markdown + links + tables | | `webscraper_fetch_section(url, selector)` | CSS selector | | `webscraper_fetch_meta(url)` | Meta tags | | `webscraper_fetch_sitemap(url)` | Sitemap URLs | ## PictureVision (`picturevision_*`) | Tool | Purpose | |------|---------| | `picturevision_load(image_source)` | Load for AI vision | | `picturevision_compare(img1, img2)` | Side-by-side diff | | `picturevision_extract_text(image_source)` | Tesseract OCR | | `picturevision_load_jira_attachment(issue_key, attachment_id)` | Jira image | ## Teams (`teams_*`) | Tool | Purpose | |------|---------| | `teams_list_teams / teams_list_channels(team_id)` | Browse | | `teams_send_channel_message(team_id, channel_id, content)` | Send to channel | | `teams_list_chats / teams_send_message(chat_id, content)` | DMs | | `teams_list_messages(team_id, channel_id)` | Read messages | | `teams_list_users(search)` | Find users | ## Webex (`webex_*`) | Tool | Purpose | |------|---------| | `webex_send_message(room_id, text, markdown)` | Send message | | `webex_list_rooms / webex_get_room / webex_create_room` | Room management | | `webex_list_messages(room_id)` | Read messages | | `webex_list_people / webex_add_member` | People | ## File Transfer (`ft_*`) | Tool | Purpose | |------|---------| | `ft_send_file(recipients, subject, message, file_path)` | Send via ADP Secure FT | | `ft_list_inbox / ft_list_sent` | Inbox/sent | | `ft_get_message(message_id)` | Message details | | `ft_download_attachment(attachment_id)` | Download | | `ft_validate_recipients(recipients)` | Check allowed recipients | | `ft_request_file(recipient, subject, message)` | Request upload from someone | ## H2 DB | Tool | Purpose | |------|---------| | `query(db_path, sql)` | Execute SQL | | `list_schemas / list_tables / describe_table / get_foreign_keys / get_indexes` | Schema inspection | ## PAISY SSH (`exec-command`, `run-program`, `upload-file`) | Tool | Purpose | |------|---------| | `list-instances` | List available PAISY test instances | | `set-instance(instance)` | Select instance for session | | `run-program(program, args, stdin)` | Run PAI* programs | | `exec-command(command)` | Raw shell on PAISY host | | `upload-file(localPath, remoteFilename)` | Upload JAR to instance |