nia-mcp-server 1.0.9__tar.gz → 1.0.11__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.

Potentially problematic release.


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

Files changed (20) hide show
  1. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/PKG-INFO +1 -1
  2. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/pyproject.toml +1 -1
  3. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/src/nia_mcp_server/__init__.py +1 -1
  4. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/src/nia_mcp_server/api_client.py +15 -3
  5. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/src/nia_mcp_server/server.py +18 -2
  6. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/.gitignore +0 -0
  7. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/ARCHITECTURE.md +0 -0
  8. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/LICENSE +0 -0
  9. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/README.md +0 -0
  10. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/nia_analytics.log +0 -0
  11. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/nia_mcp_server.log +0 -0
  12. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/src/nia_mcp_server/__main__.py +0 -0
  13. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/src/nia_mcp_server/assets/rules/claude_rules.md +0 -0
  14. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/src/nia_mcp_server/assets/rules/cursor_rules.md +0 -0
  15. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/src/nia_mcp_server/assets/rules/nia_rules.md +0 -0
  16. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/src/nia_mcp_server/assets/rules/vscode_rules.md +0 -0
  17. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/src/nia_mcp_server/assets/rules/windsurf_rules.md +0 -0
  18. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/src/nia_mcp_server/profiles.py +0 -0
  19. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/src/nia_mcp_server/project_init.py +0 -0
  20. {nia_mcp_server-1.0.9 → nia_mcp_server-1.0.11}/src/nia_mcp_server/rule_transformer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nia-mcp-server
3
- Version: 1.0.9
3
+ Version: 1.0.11
4
4
  Summary: Nia Knowledge Agent
5
5
  Project-URL: Homepage, https://trynia.ai
6
6
  Project-URL: Documentation, https://docs.trynia.ai
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "nia-mcp-server"
7
- version = "1.0.9"
7
+ version = "1.0.11"
8
8
  description = "Nia Knowledge Agent"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -2,4 +2,4 @@
2
2
  NIA MCP Server - Proxy server for NIA Knowledge Agent
3
3
  """
4
4
 
5
- __version__ = "1.0.9"
5
+ __version__ = "1.0.11"
@@ -402,7 +402,11 @@ class NIAApiClient:
402
402
  url_patterns: List[str] = None,
403
403
  exclude_patterns: List[str] = None,
404
404
  max_age: int = None,
405
- only_main_content: bool = True
405
+ only_main_content: bool = True,
406
+ wait_for: int = None,
407
+ include_screenshot: bool = None,
408
+ check_llms_txt: bool = None,
409
+ llms_txt_strategy: str = None
406
410
  ) -> Dict[str, Any]:
407
411
  """Create a new documentation/web data source."""
408
412
  try:
@@ -415,10 +419,18 @@ class NIAApiClient:
415
419
  # Add optional parameters
416
420
  if max_age is not None:
417
421
  payload["max_age"] = max_age
418
- # Always use markdown for documentation scraping
419
- payload["formats"] = ["markdown"]
422
+ # Don't hardcode formats - let backend defaults apply
423
+ # This allows screenshots to be captured by default
420
424
  if only_main_content is not None:
421
425
  payload["only_main_content"] = only_main_content
426
+ if wait_for is not None:
427
+ payload["wait_for"] = wait_for
428
+ if include_screenshot is not None:
429
+ payload["include_screenshot"] = include_screenshot
430
+ if check_llms_txt is not None:
431
+ payload["check_llms_txt"] = check_llms_txt
432
+ if llms_txt_strategy is not None:
433
+ payload["llms_txt_strategy"] = llms_txt_strategy
422
434
 
423
435
  response = await self.client.post(
424
436
  f"{self.base_url}/v2/data-sources",
@@ -506,7 +506,11 @@ async def index_documentation(
506
506
  url_patterns: Optional[List[str]] = None,
507
507
  exclude_patterns: Optional[List[str]] = None,
508
508
  max_age: Optional[int] = None,
509
- only_main_content: Optional[bool] = True
509
+ only_main_content: Optional[bool] = True,
510
+ wait_for: Optional[int] = None,
511
+ include_screenshot: Optional[bool] = None,
512
+ check_llms_txt: Optional[bool] = True,
513
+ llms_txt_strategy: Optional[str] = "prefer"
510
514
  ) -> List[TextContent]:
511
515
  """
512
516
  Index documentation or website for intelligent search.
@@ -517,6 +521,13 @@ async def index_documentation(
517
521
  exclude_patterns: Optional list of URL patterns to exclude from crawling (e.g., ["/blog/*", "/changelog/*"])
518
522
  max_age: Maximum age of cached content in seconds (for fast scraping mode)
519
523
  only_main_content: Extract only main content (removes navigation, ads, etc.)
524
+ wait_for: Time to wait for page to load in milliseconds (defaults to backend setting)
525
+ include_screenshot: Whether to capture full page screenshots (defaults to backend setting)
526
+ check_llms_txt: Check for llms.txt file for curated documentation URLs (default: True)
527
+ llms_txt_strategy: How to use llms.txt if found:
528
+ - "prefer": Start with llms.txt URLs, then crawl additional pages if under limit
529
+ - "only": Only index URLs listed in llms.txt
530
+ - "ignore": Skip llms.txt check (traditional behavior)
520
531
 
521
532
  Returns:
522
533
  Status of the indexing operation
@@ -525,6 +536,7 @@ async def index_documentation(
525
536
  - When started indexing, prompt users to either use check_documentation_status tool or go to app.trynia.ai to check the status.
526
537
  - By default, crawls the entire domain (up to 10,000 pages)
527
538
  - Use exclude_patterns to filter out unwanted sections like blogs, changelogs, etc.
539
+ - Screenshots are captured by default to provide visual context
528
540
  """
529
541
  try:
530
542
  client = await ensure_api_client()
@@ -536,7 +548,11 @@ async def index_documentation(
536
548
  url_patterns=url_patterns,
537
549
  exclude_patterns=exclude_patterns,
538
550
  max_age=max_age,
539
- only_main_content=only_main_content
551
+ only_main_content=only_main_content,
552
+ wait_for=wait_for,
553
+ include_screenshot=include_screenshot,
554
+ check_llms_txt=check_llms_txt,
555
+ llms_txt_strategy=llms_txt_strategy
540
556
  )
541
557
 
542
558
  source_id = result.get("id")
File without changes