Files
pi_mcps/zoo_backup/work/rules/02-mcp-tools.md
T
2026-06-24 19:27:14 +02:00

159 lines
6.4 KiB
Markdown

# 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 |