github Python analyzed 31c1d77

sooperset/mcp-atlassian

github

MCP server for Atlassian tools (Confluence, Jira)

maintainer
sooperset
license
MIT
first seen
2026-05-22
last seen
2026-08-02
releases · 30d
3
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution ×2 in sooperset/mcp-atlassian
capabilities 96 tools
transport stdio counts 96 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • add_comment
  • add_inline_comment
  • add_issues_to_sprint
  • add_label
  • add_watcher
  • add_worklog
  • assign_issue
  • batch_create_issues
  • batch_create_versions
  • batch_get_changelogs
  • check_content_permissions
  • copy_page
  • create_customer_request
  • create_issue
  • create_issue_link
  • create_page
  • create_page_from_template
  • create_remote_issue_link
  • create_sprint
  • create_version
  • delete_attachment
  • delete_issue
  • delete_page
  • download_attachment
  • download_attachments
  • download_content_attachments
  • edit_comment
  • get_agile_boards
  • get_all_projects
  • get_attachments
  • get_board_issues
  • get_comments
  • get_create_fields
  • get_cross_project_dependencies
  • get_field_options
  • get_inline_comments
  • get_issue
  • get_issue_dates
  • get_issue_development_info
  • get_issue_images
  • get_issue_proforma_forms
  • get_issue_sla
  • get_issue_watchers
  • get_issues_development_info
  • get_labels
  • get_link_types
  • get_page
  • get_page_children
  • get_page_diff
  • get_page_history
  • get_page_images
  • get_page_restrictions
  • get_page_template
  • get_page_views
  • get_proforma_form_details
  • get_project_components
  • get_project_epic_hierarchy
  • get_project_fields
  • get_project_issue_types
  • get_project_issues
  • get_project_versions
  • get_queue_issues
  • get_request_type_fields
  • get_request_types
  • get_service_desk_for_project
  • get_service_desk_queues
  • get_space_page_tree
  • get_space_permissions
  • get_sprint_issues
  • get_sprints_from_board
  • get_transitions
  • get_user_profile
  • get_worklog
  • link_to_epic
  • list_page_templates
  • move_issue
  • move_issues_to_backlog
  • move_page
  • remove_issue_link
  • remove_watcher
  • reply_to_comment
  • search
  • search_assignable_users
  • search_fields
  • search_projects
  • search_user
  • set_page_restrictions
  • transition_issue
  • update_issue
  • update_page
  • update_page_section
  • update_proforma_form_answers
  • update_sprint
  • update_version
  • upload_attachment
  • upload_attachments
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 31c1d77 · analyzer v28 · 3d ago

skills & prompt files 3

danger signals7

code evidence vv0.23.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 289

filesystem 8

  • fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/attachments.py :6 from pathlib import Path
  • fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/attachments.py :6 from pathlib import Path
  • fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/preprocessing/confluence.py :6 from pathlib import Path
  • fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :9 from pathlib import Path
  • fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/http.py :82 half-open (single probe allowed) -> closed | open. We don't model
  • fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/io.py :4 from pathlib import Path
  • fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/oauth.py :17 from pathlib import Path
  • fs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/oauth_setup.py :146 try {{ window.open('', '_self').close(); }} catch (e) {{}}

network 39

  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/analytics.py :14 from requests.exceptions import HTTPError
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/attachments.py :5 import urllib.parse
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/client.py :7 from requests import Session
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/comments.py :8 import requests
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/pages.py :6 from urllib.parse import parse_qs, urlparse
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/permissions.py :6 from requests.exceptions import HTTPError
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/restrictions.py :6 from requests.exceptions import HTTPError
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/search.py :6 from urllib.parse import quote
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/spaces.py :6 import requests
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/templates.py :4 from urllib.parse import quote
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/users.py :6 from requests.exceptions import HTTPError
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/v2_adapter.py :10 import requests
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/boards.py :6 import requests
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/client.py :8 from requests import Session
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/customer_requests.py :8 from requests.exceptions import HTTPError
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/development.py :6 from requests import RequestException
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/forms.py :6 from requests.exceptions import HTTPError
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/forms_api.py :17 import requests
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/forms_common.py :7 from requests.exceptions import HTTPError
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/issues.py :9 from requests.exceptions import ConnectionError as RequestsConnectionError
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/links.py :6 from requests.exceptions import HTTPError
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/search.py :7 import requests
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/sprints.py :7 import requests
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/transitions.py :6 from requests.exceptions import HTTPError
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/users.py :7 from requests.exceptions import HTTPError
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/models/confluence/search.py :8 from urllib.parse import quote
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/preprocessing/base.py :5 import urllib.parse
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/preprocessing/confluence.py :7 from urllib.parse import urlparse
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :11 from urllib.parse import parse_qs, urlsplit
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :12 from requests.exceptions import HTTPError
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/main.py :10 from urllib.parse import urlparse
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/decorators.py :8 import requests
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/http.py :19 from requests import Session
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/oauth.py :15 import urllib.parse
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/oauth_setup.py :17 import urllib.parse
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/proxy.py :9 from urllib.parse import urlsplit
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/ssl.py :8 from urllib.parse import urlparse
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/ssrf_adapter.py :23 import socket
  • net sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/urls.py :6 import socket

secrets 5

  • secrets sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/__init__.py :383 os.environ["CONFLUENCE_API_TOKEN"] = confluence_token
  • secrets sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/confluence/config.py :126 api_token = os.getenv("CONFLUENCE_API_TOKEN")
  • secrets sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/jira/config.py :258 api_token = os.getenv("JIRA_API_TOKEN")
  • secrets sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/main.py :816 os.getenv("ATLASSIAN_OAUTH_CLIENT_SECRET")
  • secrets sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/utils/oauth.py :20 import keyring

tool registrations 98

  • search sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :188
  • get_page sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :280
  • get_page_children sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :409
  • get_space_page_tree sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :509
  • get_comments sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :561
  • get_labels sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :593
  • add_label sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :626
  • create_page sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :679
  • update_page sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :866
  • update_page_section sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1044
  • delete_page sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1146
  • move_page sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1191
  • add_comment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1270
  • reply_to_comment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1321
  • get_inline_comments sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1374
  • add_inline_comment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1418
  • search_user sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1513
  • get_page_history sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1600
  • get_page_diff sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1680
  • get_page_views sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1757
  • upload_attachment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1827
  • upload_attachments sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :1969
  • get_attachments sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2058
  • download_attachment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2163
  • download_content_attachments sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2315
  • delete_attachment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2468
  • get_page_images sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2522
  • list_page_templates sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2686
  • get_page_template sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2747
  • create_page_from_template sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2782
  • get_page_restrictions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2834
  • set_page_restrictions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2863
  • copy_page sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :2944
  • check_content_permissions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :3014
  • get_space_permissions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/confluence.py :3078
  • get_user_profile sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :259
  • search_assignable_users sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :320
  • get_issue_watchers sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :440
  • add_watcher sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :471
  • remove_watcher sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :516
  • get_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :567
  • search sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :747
  • search_fields sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :869
  • get_field_options sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :984
  • get_project_issues sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1087
  • get_transitions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1128
  • get_worklog sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1157
  • download_attachments sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1186
  • get_issue_images sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1320
  • get_agile_boards sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1452
  • get_board_issues sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1509
  • get_sprints_from_board sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1589
  • get_sprint_issues sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1629
  • get_link_types sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1680
  • create_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1715
  • batch_create_issues sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1829
  • batch_get_changelogs sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1901
  • update_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :1982
  • assign_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2272
  • delete_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2344
  • move_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2378
  • add_comment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2450
  • edit_comment sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2536
  • add_worklog sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2583
  • link_to_epic sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2659
  • create_issue_link sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2703
  • create_remote_issue_link sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2799
  • remove_issue_link sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2887
  • transition_issue sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :2916
  • create_sprint sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3002
  • update_sprint sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3048
  • add_issues_to_sprint sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3109
  • move_issues_to_backlog sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3146
  • get_project_issue_types sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3180
  • get_create_fields sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3224
  • get_project_versions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3277
  • get_project_components sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3297
  • get_all_projects sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3317
  • search_projects sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3385
  • get_project_fields sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3470
  • get_service_desk_for_project sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3519
  • get_service_desk_queues sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3560
  • get_queue_issues sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3606
  • get_request_types sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3657
  • get_request_type_fields sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3696
  • create_customer_request sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3729
  • create_version sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3828
  • batch_create_versions sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3885
  • update_version sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :3969
  • get_issue_proforma_forms sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4042
  • get_proforma_form_details sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4097
  • update_proforma_form_answers sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4167
  • get_issue_dates sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4297
  • get_issue_sla sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4354
  • get_issue_development_info sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4435
  • get_issues_development_info sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4497
  • get_project_epic_hierarchy sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4561
  • get_cross_project_dependencies sooperset-mcp-atlassian-31c1d77/src/mcp_atlassian/servers/jira.py :4610

declared dependencies 3

  • anyio@>=4.0.0
  • atlassian-python-api@>=4.0.0
  • pypac@>=0.17.2