cnhkmcp 1.3.0__tar.gz → 1.3.1__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.
- {cnhkmcp-1.3.0/cnhkmcp.egg-info → cnhkmcp-1.3.1}/PKG-INFO +1 -1
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp/__init__.py +1 -1
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp/untracked/platform_functions.py +43 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1/cnhkmcp.egg-info}/PKG-INFO +1 -1
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/setup.py +1 -1
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/LICENSE +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/MANIFEST.in +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/README.md +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp/untracked/BRAIN_6_Tips_Datafield_Exploration_Guide.md +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp/untracked/BRAIN_Alpha_Test_Requirements_and_Tips.md +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp/untracked/Dataset_Exploration_Expert_Manual.md +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp/untracked/arXiv_API_Tool_Manual.md +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp/untracked/arxiv_api.py +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp/untracked/daily_report_workflow.md +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp/untracked/forum_functions.py +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp/untracked/sample_mcp_config.json +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp/untracked/user_config.json +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp.egg-info/SOURCES.txt +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp.egg-info/dependency_links.txt +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp.egg-info/entry_points.txt +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp.egg-info/not-zip-safe +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp.egg-info/requires.txt +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp.egg-info/top_level.txt +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/requirements.txt +0 -0
- {cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/setup.cfg +0 -0
|
@@ -2502,6 +2502,49 @@ async def get_daily_and_quarterly_payment(email: str = "", password: str = "") -
|
|
|
2502
2502
|
except Exception as e:
|
|
2503
2503
|
return {"error": f"Error retrieving payment information: {str(e)}"}
|
|
2504
2504
|
|
|
2505
|
+
|
|
2506
|
+
|
|
2507
|
+
# New MCP tool: get_error_message_fromAlphaLocation
|
|
2508
|
+
from typing import Sequence
|
|
2509
|
+
@mcp.tool()
|
|
2510
|
+
async def get_error_message_fromAlphaLocation(locations: Sequence[str]) -> dict:
|
|
2511
|
+
"""
|
|
2512
|
+
Fetch and parse error/status from multiple simulation locations (URLs).
|
|
2513
|
+
Args:
|
|
2514
|
+
locations: List of simulation result URLs (e.g., /simulations/{id})
|
|
2515
|
+
Returns:
|
|
2516
|
+
List of dicts with location, error message, and raw response
|
|
2517
|
+
"""
|
|
2518
|
+
results = []
|
|
2519
|
+
for loc in locations:
|
|
2520
|
+
try:
|
|
2521
|
+
resp = brain_client.session.get(loc)
|
|
2522
|
+
if resp.status_code != 200:
|
|
2523
|
+
results.append({
|
|
2524
|
+
"location": loc,
|
|
2525
|
+
"error": f"HTTP {resp.status_code}",
|
|
2526
|
+
"raw": resp.text
|
|
2527
|
+
})
|
|
2528
|
+
continue
|
|
2529
|
+
data = resp.json() if resp.text else {}
|
|
2530
|
+
# Try to extract error message or status
|
|
2531
|
+
error_msg = data.get("error") or data.get("message")
|
|
2532
|
+
# If alpha ID is missing, include that info
|
|
2533
|
+
if not data.get("alpha"):
|
|
2534
|
+
error_msg = error_msg or "Simulation did not get through, if you are running a multisimulation, check the other children location in your request"
|
|
2535
|
+
results.append({
|
|
2536
|
+
"location": loc,
|
|
2537
|
+
"error": error_msg,
|
|
2538
|
+
"raw": data
|
|
2539
|
+
})
|
|
2540
|
+
except Exception as e:
|
|
2541
|
+
results.append({
|
|
2542
|
+
"location": loc,
|
|
2543
|
+
"error": str(e),
|
|
2544
|
+
"raw": None
|
|
2545
|
+
})
|
|
2546
|
+
return {"results": results}
|
|
2547
|
+
|
|
2505
2548
|
if __name__ == "__main__":
|
|
2506
2549
|
print("🧠 WorldQuant BRAIN MCP Server Starting...", file=sys.stderr)
|
|
2507
2550
|
mcp.run()
|
|
@@ -13,7 +13,7 @@ def read_requirements():
|
|
|
13
13
|
|
|
14
14
|
setup(
|
|
15
15
|
name="cnhkmcp",
|
|
16
|
-
version="1.3.
|
|
16
|
+
version="1.3.1",
|
|
17
17
|
author="CNHK",
|
|
18
18
|
author_email="cnhk@example.com",
|
|
19
19
|
description="A comprehensive Model Context Protocol (MCP) server for quantitative trading platform integration",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cnhkmcp-1.3.0 → cnhkmcp-1.3.1}/cnhkmcp/untracked/BRAIN_6_Tips_Datafield_Exploration_Guide.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|