ims-mcp 1.0.5__tar.gz → 1.0.7__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ims-mcp
3
- Version: 1.0.5
3
+ Version: 1.0.7
4
4
  Summary: Model Context Protocol server for IMS (Instruction Management Systems)
5
5
  Author: Igor Solomatov
6
6
  License-Expression: MIT
@@ -11,7 +11,7 @@ Environment Variables:
11
11
  Note: Environment variables use R2R_ prefix for compatibility with underlying R2R SDK.
12
12
  """
13
13
 
14
- __version__ = "1.0.5"
14
+ __version__ = "1.0.7"
15
15
  __author__ = "Igor Solomatov"
16
16
 
17
17
  from ims_mcp.server import mcp
@@ -40,21 +40,6 @@ def get_authenticated_client() -> R2RClient:
40
40
  if _authenticated_client is not None:
41
41
  return _authenticated_client
42
42
 
43
- # Log startup info (only on first call)
44
- from ims_mcp import __version__
45
- base_url = os.getenv('R2R_API_BASE') or os.getenv('R2R_BASE_URL') or 'http://localhost:7272'
46
- collection = os.getenv('R2R_COLLECTION', 'default')
47
- api_key = os.getenv('R2R_API_KEY', '')
48
- email = os.getenv('R2R_EMAIL', '')
49
- password = os.getenv('R2R_PASSWORD', '')
50
-
51
- print(f"[ims-mcp v{__version__}]", file=sys.stderr)
52
- print(f" server={base_url}", file=sys.stderr)
53
- print(f" collection={collection}", file=sys.stderr)
54
- print(f" api_key={api_key[:3] + '...' if api_key else 'none'}", file=sys.stderr)
55
- print(f" email={email if email else 'none'}", file=sys.stderr)
56
- print(f" password={password[:3] + '...' if password else 'none'}", file=sys.stderr)
57
-
58
43
  # Create new client
59
44
  client = R2RClient()
60
45
 
@@ -183,6 +168,21 @@ def format_search_results_for_llm(results) -> str:
183
168
  return result
184
169
 
185
170
 
171
+ # Log configuration at startup
172
+ from ims_mcp import __version__
173
+ base_url = os.getenv('R2R_API_BASE') or os.getenv('R2R_BASE_URL') or 'http://localhost:7272'
174
+ collection = os.getenv('R2R_COLLECTION', 'default')
175
+ api_key = os.getenv('R2R_API_KEY', '')
176
+ email = os.getenv('R2R_EMAIL', '')
177
+ password = os.getenv('R2R_PASSWORD', '')
178
+
179
+ print(f"[ims-mcp v{__version__}]", file=sys.stderr)
180
+ print(f" server={base_url}", file=sys.stderr)
181
+ print(f" collection={collection}", file=sys.stderr)
182
+ print(f" api_key={api_key[:3] + '...' if api_key else 'none'}", file=sys.stderr)
183
+ print(f" email={email if email else 'none'}", file=sys.stderr)
184
+ print(f" password={password[:3] + '...' if password else 'none'}", file=sys.stderr)
185
+
186
186
  # Create a FastMCP server
187
187
  try:
188
188
  from mcp.server.fastmcp import FastMCP
@@ -538,6 +538,12 @@ async def get_document(
538
538
 
539
539
  # Found exactly one match
540
540
  document_id = matching_docs[0][0]
541
+ except R2RException as e:
542
+ # Re-raise authentication errors so the decorator can handle them
543
+ if hasattr(e, 'status_code') and e.status_code in [401, 403]:
544
+ raise
545
+ # For other R2RExceptions, return error message
546
+ return f"Error searching for document by title: {str(e)}"
541
547
  except Exception as e:
542
548
  return f"Error searching for document by title: {str(e)}"
543
549
 
@@ -555,6 +561,15 @@ async def get_document(
555
561
 
556
562
  return "\n".join(output_lines)
557
563
 
564
+ except R2RException as e:
565
+ # Re-raise authentication errors so the decorator can handle them
566
+ if hasattr(e, 'status_code') and e.status_code in [401, 403]:
567
+ raise
568
+ # For other R2RExceptions, return error message
569
+ error_msg = str(e)
570
+ if "not found" in error_msg.lower():
571
+ return f"Error: Document with ID '{document_id}' not found"
572
+ return f"Error downloading document: {error_msg}"
558
573
  except Exception as e:
559
574
  error_msg = str(e)
560
575
  if "not found" in error_msg.lower():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ims-mcp
3
- Version: 1.0.5
3
+ Version: 1.0.7
4
4
  Summary: Model Context Protocol server for IMS (Instruction Management Systems)
5
5
  Author: Igor Solomatov
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ims-mcp"
7
- version = "1.0.5"
7
+ version = "1.0.7"
8
8
  description = "Model Context Protocol server for IMS (Instruction Management Systems)"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
File without changes
File without changes
File without changes
File without changes