fenix-mcp 1.11.0__tar.gz → 1.12.0__tar.gz

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.
Files changed (34) hide show
  1. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/PKG-INFO +1 -1
  2. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/__init__.py +1 -1
  3. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/application/tools/initialize.py +19 -0
  4. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/application/tools/intelligence.py +7 -1
  5. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/infrastructure/fenix_api/client.py +3 -31
  6. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp.egg-info/PKG-INFO +1 -1
  7. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/README.md +0 -0
  8. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/application/presenters.py +0 -0
  9. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/application/tool_base.py +0 -0
  10. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/application/tool_registry.py +0 -0
  11. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/application/tools/__init__.py +0 -0
  12. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/application/tools/health.py +0 -0
  13. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/application/tools/knowledge.py +0 -0
  14. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/application/tools/productivity.py +0 -0
  15. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/application/tools/user_config.py +0 -0
  16. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/domain/initialization.py +0 -0
  17. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/domain/intelligence.py +0 -0
  18. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/domain/knowledge.py +0 -0
  19. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/domain/productivity.py +0 -0
  20. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/domain/user_config.py +0 -0
  21. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/infrastructure/config.py +0 -0
  22. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/infrastructure/context.py +0 -0
  23. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/infrastructure/http_client.py +0 -0
  24. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/infrastructure/logging.py +0 -0
  25. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/interface/mcp_server.py +0 -0
  26. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/interface/transports.py +0 -0
  27. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp/main.py +0 -0
  28. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp.egg-info/SOURCES.txt +0 -0
  29. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp.egg-info/dependency_links.txt +0 -0
  30. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp.egg-info/entry_points.txt +0 -0
  31. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp.egg-info/requires.txt +0 -0
  32. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/fenix_mcp.egg-info/top_level.txt +0 -0
  33. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/pyproject.toml +0 -0
  34. {fenix_mcp-1.11.0 → fenix_mcp-1.12.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fenix-mcp
3
- Version: 1.11.0
3
+ Version: 1.12.0
4
4
  Summary: Fênix Cloud MCP server implemented in Python
5
5
  Author: Fenix Inc
6
6
  Requires-Python: >=3.10
@@ -8,4 +8,4 @@ Fênix Cloud MCP Server (Python edition).
8
8
  __all__ = ["__version__"]
9
9
 
10
10
 
11
- __version__ = "1.11.0"
11
+ __version__ = "1.12.0"
@@ -124,6 +124,25 @@ class InitializeTool(Tool):
124
124
  ]
125
125
  )
126
126
 
127
+ # Add memory usage instructions
128
+ message_lines.extend(
129
+ [
130
+ "",
131
+ "🧠 **Memory Usage Instructions**",
132
+ "",
133
+ "To provide continuity across sessions, use the `intelligence` tool:",
134
+ "",
135
+ '1. **At conversation START**: Call `intelligence(action="memory_query", query="<relevant_topic>")` to retrieve context from previous sessions',
136
+ '2. **When learning important info**: Call `intelligence(action="memory_smart_create", ...)` to save:',
137
+ " - User preferences and decisions",
138
+ " - Project context and architecture choices",
139
+ " - Problems solved and solutions found",
140
+ " - Technical learnings and patterns",
141
+ "",
142
+ "This prevents users from repeating themselves and enables personalized assistance.",
143
+ ]
144
+ )
145
+
127
146
  return text("\n".join(message_lines))
128
147
 
129
148
  async def _handle_setup(self, payload: InitializeRequest):
@@ -172,7 +172,13 @@ class IntelligenceRequest(ToolRequest):
172
172
 
173
173
  class IntelligenceTool(Tool):
174
174
  name = "intelligence"
175
- description = "Fenix Cloud intelligence operations (memories and smart operations)."
175
+ description = (
176
+ "Fenix persistent memory system for cross-session continuity. "
177
+ "RECOMMENDED USAGE: "
178
+ "(1) Call memory_query at the START of conversations to retrieve relevant context from previous sessions. "
179
+ "(2) Call memory_smart_create to save important information, decisions, user preferences, and learnings. "
180
+ "This enables personalized responses and prevents users from repeating themselves."
181
+ )
176
182
  request_model = IntelligenceRequest
177
183
 
178
184
  def __init__(self, context: AppContext):
@@ -33,7 +33,6 @@ class FenixApiClient:
33
33
 
34
34
  base_url: str
35
35
  personal_access_token: Optional[str]
36
- core_documents_token: Optional[str] = None
37
36
  timeout: float = 30.0
38
37
  _http: HttpClient = field(init=False, repr=False)
39
38
 
@@ -71,11 +70,6 @@ class FenixApiClient:
71
70
  headers.pop("Authorization", None)
72
71
  self._http.default_headers = headers
73
72
 
74
- def update_core_documents_token(self, token: Optional[str]) -> None:
75
- """Update the MCP token used to access public core document endpoints."""
76
-
77
- self.core_documents_token = token
78
-
79
73
  def _build_params(
80
74
  self,
81
75
  *,
@@ -137,38 +131,16 @@ class FenixApiClient:
137
131
  return self._request("GET", "/api/auth/profile")
138
132
 
139
133
  # ------------------------------------------------------------------
140
- # Core documents
134
+ # Core documents (requires PAT authentication)
141
135
  # ------------------------------------------------------------------
142
136
 
143
137
  def list_core_documents(self, *, return_content: bool = False) -> Any:
144
- params = self._build_params(optional={"returnContent": return_content})
145
- headers = (
146
- {"x-mcp-token": self.core_documents_token}
147
- if self.core_documents_token
148
- else None
149
- )
150
- return self._request(
151
- "GET", "/api/core-documents/mcp/all", params=params, headers=headers
152
- )
153
-
154
- def get_core_document_by_name(
155
- self, name: str, *, return_content: bool = False
156
- ) -> Any:
157
- params = self._build_params(optional={"returnContent": return_content})
158
- headers = (
159
- {"x-mcp-token": self.core_documents_token}
160
- if self.core_documents_token
161
- else None
162
- )
163
- return self._request(
164
- "GET", f"/api/core-documents/mcp/{name}", params=params, headers=headers
165
- )
166
-
167
- def list_core_documents_auth(self, *, return_content: bool = False) -> Any:
138
+ """List all core documents. Requires valid PAT."""
168
139
  params = self._build_params(optional={"returnContent": return_content})
169
140
  return self._request("GET", "/api/core-documents", params=params)
170
141
 
171
142
  def get_core_document(self, name: str, *, return_content: bool = False) -> Any:
143
+ """Get a core document by name. Requires valid PAT."""
172
144
  params = self._build_params(optional={"returnContent": return_content})
173
145
  return self._request("GET", f"/api/core-documents/{name}", params=params)
174
146
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fenix-mcp
3
- Version: 1.11.0
3
+ Version: 1.12.0
4
4
  Summary: Fênix Cloud MCP server implemented in Python
5
5
  Author: Fenix Inc
6
6
  Requires-Python: >=3.10
File without changes
File without changes
File without changes
File without changes