mcp-ticketer 0.3.6__py3-none-any.whl → 0.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mcp-ticketer might be problematic. Click here for more details.

@@ -12,20 +12,40 @@ from dotenv import load_dotenv
12
12
  import mcp_ticketer.adapters # noqa: F401
13
13
 
14
14
  from ..core import AdapterRegistry
15
- from ..core.models import (Comment, Epic, Priority, SearchQuery, Task,
16
- TicketState)
17
- from .constants import (DEFAULT_BASE_PATH, DEFAULT_LIMIT, DEFAULT_MAX_DEPTH,
18
- DEFAULT_OFFSET, ERROR_INTERNAL, ERROR_METHOD_NOT_FOUND,
19
- ERROR_PARSE, JSONRPC_VERSION, MCP_PROTOCOL_VERSION,
20
- MSG_EPIC_NOT_FOUND, MSG_INTERNAL_ERROR,
21
- MSG_MISSING_TICKET_ID, MSG_MISSING_TITLE,
22
- MSG_NO_TICKETS_PROVIDED, MSG_NO_UPDATES_PROVIDED,
23
- MSG_TICKET_NOT_FOUND, MSG_TRANSITION_FAILED,
24
- MSG_UNKNOWN_METHOD, MSG_UNKNOWN_OPERATION,
25
- MSG_UPDATE_FAILED, SERVER_NAME, SERVER_VERSION,
26
- STATUS_COMPLETED, STATUS_ERROR)
27
- from .dto import (CreateEpicRequest, CreateIssueRequest, CreateTaskRequest,
28
- CreateTicketRequest, ReadTicketRequest)
15
+ from ..core.models import Comment, Epic, Priority, SearchQuery, Task, TicketState
16
+ from .constants import (
17
+ DEFAULT_BASE_PATH,
18
+ DEFAULT_LIMIT,
19
+ DEFAULT_MAX_DEPTH,
20
+ DEFAULT_OFFSET,
21
+ ERROR_INTERNAL,
22
+ ERROR_METHOD_NOT_FOUND,
23
+ ERROR_PARSE,
24
+ JSONRPC_VERSION,
25
+ MCP_PROTOCOL_VERSION,
26
+ MSG_EPIC_NOT_FOUND,
27
+ MSG_INTERNAL_ERROR,
28
+ MSG_MISSING_TICKET_ID,
29
+ MSG_MISSING_TITLE,
30
+ MSG_NO_TICKETS_PROVIDED,
31
+ MSG_NO_UPDATES_PROVIDED,
32
+ MSG_TICKET_NOT_FOUND,
33
+ MSG_TRANSITION_FAILED,
34
+ MSG_UNKNOWN_METHOD,
35
+ MSG_UNKNOWN_OPERATION,
36
+ MSG_UPDATE_FAILED,
37
+ SERVER_NAME,
38
+ SERVER_VERSION,
39
+ STATUS_COMPLETED,
40
+ STATUS_ERROR,
41
+ )
42
+ from .dto import (
43
+ CreateEpicRequest,
44
+ CreateIssueRequest,
45
+ CreateTaskRequest,
46
+ CreateTicketRequest,
47
+ ReadTicketRequest,
48
+ )
29
49
  from .response_builder import ResponseBuilder
30
50
 
31
51
  # Load environment variables early (prioritize .env.local)
@@ -841,6 +861,44 @@ class MCPTicketServer:
841
861
  "required": ["title"],
842
862
  },
843
863
  },
864
+ {
865
+ "name": "ticket_comment",
866
+ "description": "Add or list comments on a ticket",
867
+ "inputSchema": {
868
+ "type": "object",
869
+ "properties": {
870
+ "operation": {
871
+ "type": "string",
872
+ "enum": ["add", "list"],
873
+ "description": "Operation to perform: 'add' to create a comment, 'list' to retrieve comments",
874
+ "default": "add",
875
+ },
876
+ "ticket_id": {
877
+ "type": "string",
878
+ "description": "Ticket ID to comment on",
879
+ },
880
+ "content": {
881
+ "type": "string",
882
+ "description": "Comment content (required for 'add' operation)",
883
+ },
884
+ "author": {
885
+ "type": "string",
886
+ "description": "Comment author (optional for 'add' operation)",
887
+ },
888
+ "limit": {
889
+ "type": "integer",
890
+ "default": 10,
891
+ "description": "Maximum number of comments to return (for 'list' operation)",
892
+ },
893
+ "offset": {
894
+ "type": "integer",
895
+ "default": 0,
896
+ "description": "Number of comments to skip (for 'list' operation)",
897
+ },
898
+ },
899
+ "required": ["ticket_id"],
900
+ },
901
+ },
844
902
  ]
845
903
  }
846
904
 
@@ -893,6 +951,8 @@ class MCPTicketServer:
893
951
  result = await self._handle_transition(arguments)
894
952
  elif tool_name == "ticket_search":
895
953
  result = await self._handle_search(arguments)
954
+ elif tool_name == "ticket_comment":
955
+ result = await self._handle_comment(arguments)
896
956
  # PR integration
897
957
  elif tool_name == "ticket_create_pr":
898
958
  result = await self._handle_create_pr(arguments)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-ticketer
3
- Version: 0.3.6
3
+ Version: 0.4.0
4
4
  Summary: Universal ticket management interface for AI agents with MCP support
5
5
  Author-email: MCP Ticketer Team <support@mcp-ticketer.io>
6
6
  Maintainer-email: MCP Ticketer Team <support@mcp-ticketer.io>
@@ -1,34 +1,36 @@
1
- mcp_ticketer/__init__.py,sha256=-8ko5W0ZFF5rWaiSCyTAiK6XLomlwnAWGfG9ntQHV5o,506
2
- mcp_ticketer/__version__.py,sha256=wR5EgVZ9tXLjR-YAXClWYw8Ir35-gGyiaTzhafMDnyw,1117
1
+ mcp_ticketer/__init__.py,sha256=Xx4WaprO5PXhVPbYi1L6tBmwmJMkYS-lMyG4ieN6QP0,717
2
+ mcp_ticketer/__version__.py,sha256=CR9K0foaKbPjgF5Yl6n14vC3Mv6RP3UcC71ofaagTzE,1117
3
3
  mcp_ticketer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  mcp_ticketer/adapters/__init__.py,sha256=B5DFllWn23hkhmrLykNO5uMMSdcFuuPHXyLw_jyFzuE,358
5
- mcp_ticketer/adapters/aitrackdown.py,sha256=oDb9Y9tiHC0n66RLL7R92ZMWFepTLZT7we45pss08go,22617
6
- mcp_ticketer/adapters/github.py,sha256=rxTy50g1NditvoDM9x19zxIZef7sF1VCCKXmY5kf4rg,47413
5
+ mcp_ticketer/adapters/aitrackdown.py,sha256=Ecw2SQAGVQs5yMH6m2pj61LxCJsuy-g2bvF8uwTpLUE,22588
6
+ mcp_ticketer/adapters/github.py,sha256=YbZ8hj4nOy4pGIbZ_0zwciNbNnwK69zqfljb-wc2tSY,47384
7
7
  mcp_ticketer/adapters/hybrid.py,sha256=UADYZLc_UNw0xHPSbgguBNzvUCnuYn12Qi9ea-zdlMk,19086
8
- mcp_ticketer/adapters/jira.py,sha256=SbcHqw0FjmCXCDasXFbIulbFEFCtsZ7rY2FP6TzWadk,35376
8
+ mcp_ticketer/adapters/jira.py,sha256=labZFqOy_mmMmizC-RD1EQbu9m4LLtJywwZ956-_x5E,35347
9
9
  mcp_ticketer/adapters/linear.py,sha256=trm6ZhmlUl80sj51WAPAox_R2HQZXZ-h1QXJsrFYDCQ,587
10
10
  mcp_ticketer/adapters/linear/__init__.py,sha256=6l0ZoR6ZHSRcytLfps2AZuk5R189Pq1GfR5-YDQt8-Q,731
11
- mcp_ticketer/adapters/linear/adapter.py,sha256=MPa24OWhPINzHdf-w6PLJd4-cdCTay7YyasjNlA7j04,29671
12
- mcp_ticketer/adapters/linear/client.py,sha256=KcLDTVOgUnOaSJS4domu0dmkslBipNfG5pPoVJ3M0a0,8837
13
- mcp_ticketer/adapters/linear/mappers.py,sha256=76UbR2GvkVuAcT4T7EAQSFfagcGOQcLKElwVAXsFQ10,9653
11
+ mcp_ticketer/adapters/linear/adapter.py,sha256=ZCj6ZM5RiWbdiGrhA3NsMTgFImvrzaB0jBIr_3ZCcO8,30959
12
+ mcp_ticketer/adapters/linear/client.py,sha256=0UmWlSEcRiwnSMFYKL89KMrPPL8S8uZ5V6rIY_KFOQU,8803
13
+ mcp_ticketer/adapters/linear/mappers.py,sha256=GN1X7bOcU-5dhDW3dAtSEGivinhFBc8hoKYot8c5tCo,9631
14
14
  mcp_ticketer/adapters/linear/queries.py,sha256=K8y7xc3iH-q9LEUmg-0YDBhh546LAwLZDvVLkzx3yY4,7223
15
15
  mcp_ticketer/adapters/linear/types.py,sha256=ugXtRGLljDw6yoCnEVgdFs0xLR9ErLdnv4ffh9EAUhk,7874
16
16
  mcp_ticketer/cache/__init__.py,sha256=Xcd-cKnt-Cx7jBzvfzUUUPaGkmyXFi5XUFWw3Z4b7d4,138
17
17
  mcp_ticketer/cache/memory.py,sha256=2yBqGi9i0SanlUhJoOC7nijWjoMa3_ntPe-V-AV-LfU,5042
18
18
  mcp_ticketer/cli/__init__.py,sha256=l9Q8iKmfGkTu0cssHBVqNZTsL4eAtFzOB25AED_0G6g,89
19
- mcp_ticketer/cli/adapter_diagnostics.py,sha256=k7RBEbDx5_hiv8IqcJIDjvktmlDFO8mOqRW8JkZqUZ0,15040
19
+ mcp_ticketer/cli/adapter_diagnostics.py,sha256=pQDdtDgBwSW04wdFEPVzwbul3KgfB9g6ZMS85qpYulY,14988
20
20
  mcp_ticketer/cli/auggie_configure.py,sha256=MXKzLtqe3K_UTQ2GacHAWbvf_B0779KL325smiAKE0Q,8212
21
21
  mcp_ticketer/cli/codex_configure.py,sha256=k7-q5d7NICjm7Vxa-z0mejJNAG-bicAHKcwqrzdRDyU,9080
22
- mcp_ticketer/cli/configure.py,sha256=3AViztrHhn0wYatQdR73I1bfdWTavrT3bFIY2mQSKXE,16237
22
+ mcp_ticketer/cli/configure.py,sha256=BsA_pSHQMQS0t1bJO_wMM8LWsd5sWJDASjEPRHvwC18,16198
23
23
  mcp_ticketer/cli/diagnostics.py,sha256=jHF68ydW3RNVGumBnHUjUmq6YOjQD2UDkx0O7M__xv0,29965
24
- mcp_ticketer/cli/discover.py,sha256=Ox47QrjNRo3QueC7YUcEv18EWzIa5EXYUz4xqE6mZWU,13204
24
+ mcp_ticketer/cli/discover.py,sha256=AF_qlQc1Oo0UkWayoF5pmRChS5J3fJjH6f2YZzd_k8w,13188
25
25
  mcp_ticketer/cli/gemini_configure.py,sha256=ZNSA1lBW-itVToza-JxW95Po7daVXKiZAh7lp6pmXMU,9343
26
26
  mcp_ticketer/cli/linear_commands.py,sha256=_8f8ze_1MbiUweU6RFHpldgfHLirysIdPjHr2_S0YhI,17319
27
- mcp_ticketer/cli/main.py,sha256=F4dL2tVqqqg1vf9Javc0-3Lz9dX3qXe6Y2MD99Jvao0,74496
27
+ mcp_ticketer/cli/main.py,sha256=veWHcq44L58SxegU3iU--r1jz9LM1OWv4fUG47K3BGw,77798
28
28
  mcp_ticketer/cli/mcp_configure.py,sha256=RzV50UjXgOmvMp-9S0zS39psuvjffVByaMrqrUaAGAM,9594
29
29
  mcp_ticketer/cli/migrate_config.py,sha256=MYsr_C5ZxsGg0P13etWTWNrJ_lc6ElRCkzfQADYr3DM,5956
30
+ mcp_ticketer/cli/platform_commands.py,sha256=koLWUFW-q1oRxJMVI_V35cDZ8OOH3F3bIdD8RRTTRpM,3694
30
31
  mcp_ticketer/cli/queue_commands.py,sha256=mm-3H6jmkUGJDyU_E46o9iRpek8tvFCm77F19OtHiZI,7884
31
32
  mcp_ticketer/cli/simple_health.py,sha256=GlOLRRFoifCna995NoHuKpb3xmFkLi2b3Ke1hyeDvq4,7950
33
+ mcp_ticketer/cli/ticket_commands.py,sha256=AD9D-EidPA3vk_-MpY3B4QGKhezCQqbKCn8vRsg57Rg,26637
32
34
  mcp_ticketer/cli/utils.py,sha256=IOycMmhwtCDpL3RN_wVEZkYMg9FHyDr4mg5M9Bxzfbo,23041
33
35
  mcp_ticketer/core/__init__.py,sha256=eXovsaJymQRP2AwOBuOy6mFtI3I68D7gGenZ5V-IMqo,349
34
36
  mcp_ticketer/core/adapter.py,sha256=q64LxOInIno7EIbmuxItf8KEsd-g9grCs__Z4uwZHto,10273
@@ -45,7 +47,7 @@ mcp_ticketer/mcp/__init__.py,sha256=Y05eTzsPk0wH8yKNIM-ekpGjgSDO0bQr0EME-vOP4GE,
45
47
  mcp_ticketer/mcp/constants.py,sha256=EBGsJtBPaTCvAm5rOMknckrXActrNIls7lRklnh1L4s,2072
46
48
  mcp_ticketer/mcp/dto.py,sha256=fUNAdCnPNp80s6RYLFqSmgqQZX04BHYry4GArmFkdG0,7336
47
49
  mcp_ticketer/mcp/response_builder.py,sha256=sEYiwQddlfQmIOcbQ-yBsDvH1EJfbTDwCEUJNf7q5Vk,4946
48
- mcp_ticketer/mcp/server.py,sha256=TX9F7myGspWrP5Fb68YttwaRB1e2zy4sD8ZSbDtgysQ,46966
50
+ mcp_ticketer/mcp/server.py,sha256=SZ8lHdXJJAfV3jVRiZcR2uNYpHY-Lcbt2xXy_Tc728E,48848
49
51
  mcp_ticketer/queue/__init__.py,sha256=1YIaCpZpFqPcqvDEQXiEvDLiw94DXRdCJkBaVIFQrms,231
50
52
  mcp_ticketer/queue/__main__.py,sha256=gc_tE9NUdK07OJfTZuD4t6KeBD_vxFQIhknGTQUG_jk,109
51
53
  mcp_ticketer/queue/health_monitor.py,sha256=KFOzksomUFnS94XKBiuHFPmGK6b4QXWzsrjwhHkR9vI,12245
@@ -54,9 +56,9 @@ mcp_ticketer/queue/queue.py,sha256=PIB_8gOE4rCb5_tBNKw9qD6YhSgH3Ei3IzVrUSY3F_o,1
54
56
  mcp_ticketer/queue/run_worker.py,sha256=WhoeamL8LKZ66TM8W1PkMPwjF2w_EDFMP-mevs6C1TM,1019
55
57
  mcp_ticketer/queue/ticket_registry.py,sha256=FE6W_D8NA-66cJQ6VqghChF3JasYW845JVfEZdiqLbA,15449
56
58
  mcp_ticketer/queue/worker.py,sha256=AF6W1bdxWnHiJd6-iBWqTHkZ4lFflsS65CAtgFPR0FA,20983
57
- mcp_ticketer-0.3.6.dist-info/licenses/LICENSE,sha256=KOVrunjtILSzY-2N8Lqa3-Q8dMaZIG4LrlLTr9UqL08,1073
58
- mcp_ticketer-0.3.6.dist-info/METADATA,sha256=b1DhGguW8BuS-PQIaUQw2pbZO7lUwQJd5WrCoZFhshM,13219
59
- mcp_ticketer-0.3.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
60
- mcp_ticketer-0.3.6.dist-info/entry_points.txt,sha256=o1IxVhnHnBNG7FZzbFq-Whcs1Djbofs0qMjiUYBLx2s,60
61
- mcp_ticketer-0.3.6.dist-info/top_level.txt,sha256=WnAG4SOT1Vm9tIwl70AbGG_nA217YyV3aWFhxLH2rxw,13
62
- mcp_ticketer-0.3.6.dist-info/RECORD,,
59
+ mcp_ticketer-0.4.0.dist-info/licenses/LICENSE,sha256=KOVrunjtILSzY-2N8Lqa3-Q8dMaZIG4LrlLTr9UqL08,1073
60
+ mcp_ticketer-0.4.0.dist-info/METADATA,sha256=kU9H9axMFLLYInrAxYQPW-4rlfBEd9USR_kOHdlfWQY,13219
61
+ mcp_ticketer-0.4.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
62
+ mcp_ticketer-0.4.0.dist-info/entry_points.txt,sha256=o1IxVhnHnBNG7FZzbFq-Whcs1Djbofs0qMjiUYBLx2s,60
63
+ mcp_ticketer-0.4.0.dist-info/top_level.txt,sha256=WnAG4SOT1Vm9tIwl70AbGG_nA217YyV3aWFhxLH2rxw,13
64
+ mcp_ticketer-0.4.0.dist-info/RECORD,,