mcp-ticketer 0.1.15__py3-none-any.whl → 0.1.16__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.
- mcp_ticketer/__version__.py +1 -1
- mcp_ticketer/cli/main.py +36 -4
- mcp_ticketer/cli/utils.py +27 -3
- {mcp_ticketer-0.1.15.dist-info → mcp_ticketer-0.1.16.dist-info}/METADATA +1 -1
- {mcp_ticketer-0.1.15.dist-info → mcp_ticketer-0.1.16.dist-info}/RECORD +9 -9
- {mcp_ticketer-0.1.15.dist-info → mcp_ticketer-0.1.16.dist-info}/WHEEL +0 -0
- {mcp_ticketer-0.1.15.dist-info → mcp_ticketer-0.1.16.dist-info}/entry_points.txt +0 -0
- {mcp_ticketer-0.1.15.dist-info → mcp_ticketer-0.1.16.dist-info}/licenses/LICENSE +0 -0
- {mcp_ticketer-0.1.15.dist-info → mcp_ticketer-0.1.16.dist-info}/top_level.txt +0 -0
mcp_ticketer/__version__.py
CHANGED
mcp_ticketer/cli/main.py
CHANGED
|
@@ -71,10 +71,34 @@ class AdapterType(str, Enum):
|
|
|
71
71
|
|
|
72
72
|
|
|
73
73
|
def load_config() -> dict:
|
|
74
|
-
"""Load configuration from file.
|
|
74
|
+
"""Load configuration from file.
|
|
75
|
+
|
|
76
|
+
Resolution order:
|
|
77
|
+
1. Project-specific config (.mcp-ticketer/config.json in cwd)
|
|
78
|
+
2. Global config (~/.mcp-ticketer/config.json)
|
|
79
|
+
|
|
80
|
+
Returns:
|
|
81
|
+
Configuration dictionary
|
|
82
|
+
"""
|
|
83
|
+
# Check project-specific config first
|
|
84
|
+
project_config = Path.cwd() / ".mcp-ticketer" / "config.json"
|
|
85
|
+
if project_config.exists():
|
|
86
|
+
try:
|
|
87
|
+
with open(project_config, "r") as f:
|
|
88
|
+
return json.load(f)
|
|
89
|
+
except (json.JSONDecodeError, IOError) as e:
|
|
90
|
+
console.print(f"[yellow]Warning: Could not load project config: {e}[/yellow]")
|
|
91
|
+
# Fall through to global config
|
|
92
|
+
|
|
93
|
+
# Fall back to global config
|
|
75
94
|
if CONFIG_FILE.exists():
|
|
76
|
-
|
|
77
|
-
|
|
95
|
+
try:
|
|
96
|
+
with open(CONFIG_FILE, "r") as f:
|
|
97
|
+
return json.load(f)
|
|
98
|
+
except (json.JSONDecodeError, IOError) as e:
|
|
99
|
+
console.print(f"[yellow]Warning: Could not load global config: {e}[/yellow]")
|
|
100
|
+
|
|
101
|
+
# Default fallback
|
|
78
102
|
return {"adapter": "aitrackdown", "config": {"base_path": ".aitrackdown"}}
|
|
79
103
|
|
|
80
104
|
|
|
@@ -1152,10 +1176,18 @@ def serve(
|
|
|
1152
1176
|
|
|
1153
1177
|
This command is used by Claude Code/Desktop when connecting to the MCP server.
|
|
1154
1178
|
You typically don't need to run this manually - use 'mcp-ticketer mcp' to configure.
|
|
1179
|
+
|
|
1180
|
+
Configuration Resolution:
|
|
1181
|
+
- When MCP server starts, it uses the current working directory (cwd)
|
|
1182
|
+
- The cwd is set by Claude Code/Desktop from the 'cwd' field in .mcp/config.json
|
|
1183
|
+
- Configuration is loaded with this priority:
|
|
1184
|
+
1. Project-specific: .mcp-ticketer/config.json in cwd
|
|
1185
|
+
2. Global: ~/.mcp-ticketer/config.json
|
|
1186
|
+
3. Default: aitrackdown adapter with .aitrackdown base path
|
|
1155
1187
|
"""
|
|
1156
1188
|
from ..mcp.server import MCPTicketServer
|
|
1157
1189
|
|
|
1158
|
-
# Load configuration
|
|
1190
|
+
# Load configuration (respects project-specific config in cwd)
|
|
1159
1191
|
config = load_config()
|
|
1160
1192
|
|
|
1161
1193
|
# Determine adapter type
|
mcp_ticketer/cli/utils.py
CHANGED
|
@@ -31,10 +31,34 @@ class CommonPatterns:
|
|
|
31
31
|
|
|
32
32
|
@staticmethod
|
|
33
33
|
def load_config() -> dict:
|
|
34
|
-
"""Load configuration from file.
|
|
34
|
+
"""Load configuration from file.
|
|
35
|
+
|
|
36
|
+
Resolution order:
|
|
37
|
+
1. Project-specific config (.mcp-ticketer/config.json in cwd)
|
|
38
|
+
2. Global config (~/.mcp-ticketer/config.json)
|
|
39
|
+
|
|
40
|
+
Returns:
|
|
41
|
+
Configuration dictionary
|
|
42
|
+
"""
|
|
43
|
+
# Check project-specific config first
|
|
44
|
+
project_config = Path.cwd() / ".mcp-ticketer" / "config.json"
|
|
45
|
+
if project_config.exists():
|
|
46
|
+
try:
|
|
47
|
+
with open(project_config, "r") as f:
|
|
48
|
+
return json.load(f)
|
|
49
|
+
except (json.JSONDecodeError, IOError) as e:
|
|
50
|
+
console.print(f"[yellow]Warning: Could not load project config: {e}[/yellow]")
|
|
51
|
+
# Fall through to global config
|
|
52
|
+
|
|
53
|
+
# Fall back to global config
|
|
35
54
|
if CommonPatterns.CONFIG_FILE.exists():
|
|
36
|
-
|
|
37
|
-
|
|
55
|
+
try:
|
|
56
|
+
with open(CommonPatterns.CONFIG_FILE, "r") as f:
|
|
57
|
+
return json.load(f)
|
|
58
|
+
except (json.JSONDecodeError, IOError) as e:
|
|
59
|
+
console.print(f"[yellow]Warning: Could not load global config: {e}[/yellow]")
|
|
60
|
+
|
|
61
|
+
# Default fallback
|
|
38
62
|
return {"adapter": "aitrackdown", "config": {"base_path": ".aitrackdown"}}
|
|
39
63
|
|
|
40
64
|
@staticmethod
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-ticketer
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.16
|
|
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,5 +1,5 @@
|
|
|
1
1
|
mcp_ticketer/__init__.py,sha256=ayPQdFr6msypD06_G96a1H0bdFCT1m1wDtv8MZBpY4I,496
|
|
2
|
-
mcp_ticketer/__version__.py,sha256=
|
|
2
|
+
mcp_ticketer/__version__.py,sha256=VU-W9BGb5-hfF3jvOPn-c-W8RnOMrAL8rswIa9JjVSE,1115
|
|
3
3
|
mcp_ticketer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
mcp_ticketer/adapters/__init__.py,sha256=K_1egvhHb5F_7yFceUx2YzPGEoc7vX-q8dMVaS4K6gw,356
|
|
5
5
|
mcp_ticketer/adapters/aitrackdown.py,sha256=gqS_N6VGLoG5itUu17ANG5SefaAITYoW-t2xL9SrY-Y,15372
|
|
@@ -12,11 +12,11 @@ mcp_ticketer/cache/memory.py,sha256=gTzv-xF7qGfiYVUjG7lnzo0ZcqgXQajMl4NAYUcaytg,
|
|
|
12
12
|
mcp_ticketer/cli/__init__.py,sha256=YeljyLtv906TqkvRuEPhmKO-Uk0CberQ9I6kx1tx2UA,88
|
|
13
13
|
mcp_ticketer/cli/configure.py,sha256=etFutvc0QpaVDMOsZiiN7wKuaT98Od1Tj9W6lsEWw5A,16351
|
|
14
14
|
mcp_ticketer/cli/discover.py,sha256=putWrGcctUH8K0fOMtr9MZA9VnWoXzbtoe7mXSkDxhg,13156
|
|
15
|
-
mcp_ticketer/cli/main.py,sha256=
|
|
15
|
+
mcp_ticketer/cli/main.py,sha256=WGYXZ0r0Iv296qrCMZLPGHUAWagRhkAgqAm-lJSnyUY,40428
|
|
16
16
|
mcp_ticketer/cli/mcp_configure.py,sha256=1WbBdF25OvxfAGcjxtYa9xmBOGEPQu-wh_nkefmWjMQ,9352
|
|
17
17
|
mcp_ticketer/cli/migrate_config.py,sha256=iZIstnlr9vkhiW_MlnSyJOkMi4KHQqrZ6Hz1ECD_VUk,6045
|
|
18
18
|
mcp_ticketer/cli/queue_commands.py,sha256=f3pEHKZ43dBHEIoCBvdfvjfMB9_WJltps9ATwTzorY0,8160
|
|
19
|
-
mcp_ticketer/cli/utils.py,sha256=
|
|
19
|
+
mcp_ticketer/cli/utils.py,sha256=cdP-7GHtELAPZtqInUC24k_SAnRbIRkafIP3T4kMZDM,19509
|
|
20
20
|
mcp_ticketer/core/__init__.py,sha256=qpCZveQMyqU2JvYG9MG_c6X35z_VoSmjWdXGcUZqqmA,348
|
|
21
21
|
mcp_ticketer/core/adapter.py,sha256=6KfhceINHfDjs--RyA_rOLeM2phVD_D85S9D6s2lcuU,10075
|
|
22
22
|
mcp_ticketer/core/config.py,sha256=9a2bksbcFr7KXeHSPY6KoSP5Pzt54utYPCmbM-1QKmk,13932
|
|
@@ -34,9 +34,9 @@ mcp_ticketer/queue/manager.py,sha256=79AH9oUxdBXH3lmJ3kIlFf2GQkWHL6XB6u5JqVWPq60
|
|
|
34
34
|
mcp_ticketer/queue/queue.py,sha256=z4aivQCtsH5_OUr2OfXSfnFKzugTahNnwHw0LS3ZhZc,11549
|
|
35
35
|
mcp_ticketer/queue/run_worker.py,sha256=HFoykfDpOoz8OUxWbQ2Fka_UlGrYwjPVZ-DEimGFH9o,802
|
|
36
36
|
mcp_ticketer/queue/worker.py,sha256=cVjHR_kfnGKAkiUg0HuXCnbKeKNBBEuj0XZHgIuIn4k,14017
|
|
37
|
-
mcp_ticketer-0.1.
|
|
38
|
-
mcp_ticketer-0.1.
|
|
39
|
-
mcp_ticketer-0.1.
|
|
40
|
-
mcp_ticketer-0.1.
|
|
41
|
-
mcp_ticketer-0.1.
|
|
42
|
-
mcp_ticketer-0.1.
|
|
37
|
+
mcp_ticketer-0.1.16.dist-info/licenses/LICENSE,sha256=KOVrunjtILSzY-2N8Lqa3-Q8dMaZIG4LrlLTr9UqL08,1073
|
|
38
|
+
mcp_ticketer-0.1.16.dist-info/METADATA,sha256=2Fa_rzfQvRRW-6e52xz_umAJlztAjQn1DMSQaTzcTEE,11211
|
|
39
|
+
mcp_ticketer-0.1.16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
40
|
+
mcp_ticketer-0.1.16.dist-info/entry_points.txt,sha256=o1IxVhnHnBNG7FZzbFq-Whcs1Djbofs0qMjiUYBLx2s,60
|
|
41
|
+
mcp_ticketer-0.1.16.dist-info/top_level.txt,sha256=WnAG4SOT1Vm9tIwl70AbGG_nA217YyV3aWFhxLH2rxw,13
|
|
42
|
+
mcp_ticketer-0.1.16.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|