fenix-mcp 0.2.2__py3-none-any.whl → 0.3.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.
fenix_mcp/__init__.py CHANGED
@@ -17,4 +17,4 @@ Updated with improved error handling and better documentation.
17
17
 
18
18
  __all__ = ["__version__"]
19
19
 
20
- __version__ = "0.2.2"
20
+ __version__ = "0.3.0"
@@ -167,6 +167,11 @@ class IntelligenceTool(Tool):
167
167
  offset=payload.offset,
168
168
  query=payload.query,
169
169
  tags=payload.tags,
170
+ modeId=payload.mode_id,
171
+ ruleId=payload.rule_id,
172
+ workItemId=payload.work_item_id,
173
+ sprintId=payload.sprint_id,
174
+ documentationItemId=payload.documentation_item_id,
170
175
  category=payload.category,
171
176
  dateFrom=payload.date_from,
172
177
  dateTo=payload.date_to,
@@ -42,14 +42,27 @@ class IntelligenceService:
42
42
 
43
43
  async def query_memories(self, **filters: Any) -> List[Dict[str, Any]]:
44
44
  params = _strip_none(filters)
45
- include_content = bool(params.pop("content", True))
45
+ include_content = bool(params.pop("content", False))
46
46
  include_metadata = bool(params.pop("metadata", False))
47
+ allowed_keys = {
48
+ "limit",
49
+ "offset",
50
+ "query",
51
+ "tags",
52
+ "modeId",
53
+ "ruleId",
54
+ "workItemId",
55
+ "sprintId",
56
+ "documentationItemId",
57
+ "importance",
58
+ }
59
+ cleaned_params = {key: params[key] for key in allowed_keys if key in params}
47
60
  return (
48
61
  await self._call(
49
62
  self.api.list_memories,
50
63
  include_content=include_content,
51
64
  include_metadata=include_metadata,
52
- **params,
65
+ **cleaned_params,
53
66
  )
54
67
  or []
55
68
  )
@@ -16,6 +16,8 @@ class FenixApiError(RuntimeError):
16
16
  def _to_query_value(value: Any) -> Any:
17
17
  if isinstance(value, bool):
18
18
  return "true" if value else "false"
19
+ if isinstance(value, (list, tuple, set)):
20
+ return ",".join(str(item) for item in value)
19
21
  return value
20
22
 
21
23
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fenix-mcp
3
- Version: 0.2.2
3
+ Version: 0.3.0
4
4
  Summary: Fênix Cloud MCP server implemented in Python
5
5
  Author: Fenix Inc
6
6
  Requires-Python: >=3.10
@@ -1,4 +1,4 @@
1
- fenix_mcp/__init__.py,sha256=W_iAG0ktWWVkX6wtJ3lfFzR8SyjeojSQSQp67Ar8cyI,615
1
+ fenix_mcp/__init__.py,sha256=Ji1fT7DoiEooPYrJTDIVOhZslAnMviujjQ3FsJjCRKg,615
2
2
  fenix_mcp/main.py,sha256=iJV-9btNMDJMObvcn7wBQdbLLKjkYCQ1ANGEwHGHlMU,2857
3
3
  fenix_mcp/application/presenters.py,sha256=fGME54PdCDhTBhXO-JUB9yLdBHiE1aeXLTC2fCuxnxM,689
4
4
  fenix_mcp/application/tool_base.py,sha256=qUcb46qx9gHQfrSHgj4RD4NCHW-OIvKQdR5G9uxZ5l4,1316
@@ -6,12 +6,12 @@ fenix_mcp/application/tool_registry.py,sha256=bPT5g8GfxG_qu28R1WaDOZHvtmG6TPDvZi
6
6
  fenix_mcp/application/tools/__init__.py,sha256=Gi1YvYh-KdL9HD8gLVrknHrxiKKEOhHBEZ02KBXJaKQ,796
7
7
  fenix_mcp/application/tools/health.py,sha256=m5DxhoRbdwl6INzd6PISxv1NAv-ljCrezsr773VB0wE,834
8
8
  fenix_mcp/application/tools/initialize.py,sha256=f33DNDn9u8IYwpqiBj6bjJ-wHgaUP1zEuAvUM1rMYPc,4674
9
- fenix_mcp/application/tools/intelligence.py,sha256=Tst0ydvaLgxx3GC1vyfNK3iWf2Nf46_A-DZGtgsMD-Q,12090
9
+ fenix_mcp/application/tools/intelligence.py,sha256=q2LRgQeJNFzWMlYRhxOlJ073QdNTxi6QkXOsOYCt_SI,12310
10
10
  fenix_mcp/application/tools/knowledge.py,sha256=4ClGoFRqyFIPuzzg2DAg-w2eMvTP37mH0THXDGftinw,44634
11
11
  fenix_mcp/application/tools/productivity.py,sha256=2IMkNdZ-Kd1CFAO7geruAVjtf_BWoDdbnwkl76vhtC8,9973
12
12
  fenix_mcp/application/tools/user_config.py,sha256=8mPOZuwszO0TapxgrA7Foe15VQE874_mvfQYlGzyv4Y,6230
13
13
  fenix_mcp/domain/initialization.py,sha256=AZhdSNITQ7O3clELBuqGvjJc-c8pFKc7zQz-XR2xXPc,6933
14
- fenix_mcp/domain/intelligence.py,sha256=8t4cgCsGwt8ouabVYrajp3-M90DepLnP_qZPNYnGCzU,4725
14
+ fenix_mcp/domain/intelligence.py,sha256=xotbwA2AgQTrGIXczLZ_192FuKyZJyAKK8cwzHxaTaI,5093
15
15
  fenix_mcp/domain/knowledge.py,sha256=fKQOTt20u5aa5Yo7gPeQ1Qxa_K5pBxn1yn8FEfOFltM,20241
16
16
  fenix_mcp/domain/productivity.py,sha256=nmHRuVJGRRu1s4eMoAv8vXHKsSauCPl-FvFx3I_yCTE,6661
17
17
  fenix_mcp/domain/user_config.py,sha256=LzBDCk31gLMtKHTbBmYb9VoFPHDW6OydpmDXeHHd0Mw,1642
@@ -19,11 +19,11 @@ fenix_mcp/infrastructure/config.py,sha256=zhJ3hhsP-bRfICcdq8rIDh5NGDe_u7AGpcgjcc
19
19
  fenix_mcp/infrastructure/context.py,sha256=kiDiamiPbHZpTGyZMylcQwtLhfaDXrxAkWSst_DWQNw,470
20
20
  fenix_mcp/infrastructure/http_client.py,sha256=QLIPhGYR_cBQGsbIO4RTR6ksyvkQt-OKHQU1JhPyap8,2470
21
21
  fenix_mcp/infrastructure/logging.py,sha256=bHrWlSi_0HshRe3--BK_5nzUszW-gh37q6jsd0ShS2Y,1371
22
- fenix_mcp/infrastructure/fenix_api/client.py,sha256=9gYNTxky5i3bjTiiRXdnld6ZCvkTtf0Xdlm0FDtQi24,28239
22
+ fenix_mcp/infrastructure/fenix_api/client.py,sha256=Navi7cGAOradghcbYkFIQQINpjFrdINlNhdfZ4iSSYQ,28338
23
23
  fenix_mcp/interface/mcp_server.py,sha256=5UM2NJuNbwHkmCEprIFataJ5nFZiO8efTtP_oW3_iX0,2331
24
24
  fenix_mcp/interface/transports.py,sha256=PxdhfjH8UMl03f7nuCLc-M6tMx6-Y-btVz_mSqXKrSI,8138
25
- fenix_mcp-0.2.2.dist-info/METADATA,sha256=tiq0YSn4en4c0V6Fi4fI2IQQ6I70fzTkRuWRp0cXsiY,7260
26
- fenix_mcp-0.2.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
- fenix_mcp-0.2.2.dist-info/entry_points.txt,sha256=o52x_YHBupEd-1Z1GSfUjv3gJrx5_I-EkHhCgt1WBaE,49
28
- fenix_mcp-0.2.2.dist-info/top_level.txt,sha256=2G1UtKpwjaIGQyE7sRoHecxaGLeuexfjrOUjv9DDKh4,10
29
- fenix_mcp-0.2.2.dist-info/RECORD,,
25
+ fenix_mcp-0.3.0.dist-info/METADATA,sha256=YgoAa_iYBXiGpkNyro3CaR0hGCkRaNn3qu62EvpbFMY,7260
26
+ fenix_mcp-0.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
+ fenix_mcp-0.3.0.dist-info/entry_points.txt,sha256=o52x_YHBupEd-1Z1GSfUjv3gJrx5_I-EkHhCgt1WBaE,49
28
+ fenix_mcp-0.3.0.dist-info/top_level.txt,sha256=2G1UtKpwjaIGQyE7sRoHecxaGLeuexfjrOUjv9DDKh4,10
29
+ fenix_mcp-0.3.0.dist-info/RECORD,,