quickcall-integrations 0.3.1__py3-none-any.whl → 0.3.2__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.
- mcp_server/tools/github_tools.py +0 -78
- {quickcall_integrations-0.3.1.dist-info → quickcall_integrations-0.3.2.dist-info}/METADATA +1 -1
- {quickcall_integrations-0.3.1.dist-info → quickcall_integrations-0.3.2.dist-info}/RECORD +5 -5
- {quickcall_integrations-0.3.1.dist-info → quickcall_integrations-0.3.2.dist-info}/WHEEL +0 -0
- {quickcall_integrations-0.3.1.dist-info → quickcall_integrations-0.3.2.dist-info}/entry_points.txt +0 -0
mcp_server/tools/github_tools.py
CHANGED
|
@@ -393,84 +393,6 @@ def create_github_tools(mcp: FastMCP) -> None:
|
|
|
393
393
|
except Exception as e:
|
|
394
394
|
raise ToolError(f"Failed to list branches: {str(e)}")
|
|
395
395
|
|
|
396
|
-
@mcp.tool(tags={"github", "prs"})
|
|
397
|
-
def search_merged_prs(
|
|
398
|
-
author: Optional[str] = Field(
|
|
399
|
-
default=None,
|
|
400
|
-
description="GitHub username to filter by. Defaults to authenticated user if not specified.",
|
|
401
|
-
),
|
|
402
|
-
days: int = Field(
|
|
403
|
-
default=180,
|
|
404
|
-
description="Number of days to look back (default: 180 for ~6 months)",
|
|
405
|
-
),
|
|
406
|
-
org: Optional[str] = Field(
|
|
407
|
-
default=None,
|
|
408
|
-
description="GitHub org to search within. If not specified, searches all accessible repos.",
|
|
409
|
-
),
|
|
410
|
-
repo: Optional[str] = Field(
|
|
411
|
-
default=None,
|
|
412
|
-
description="Specific repo in 'owner/repo' format (e.g., 'revolving-org/supabase'). Overrides org if specified.",
|
|
413
|
-
),
|
|
414
|
-
limit: int = Field(
|
|
415
|
-
default=100,
|
|
416
|
-
description="Maximum PRs to return (default: 100)",
|
|
417
|
-
),
|
|
418
|
-
detail_level: str = Field(
|
|
419
|
-
default="summary",
|
|
420
|
-
description="'summary' for minimal fields (number, title, merged_at, repo, owner, html_url, author), "
|
|
421
|
-
"'full' adds body and labels. Use 'summary' for large result sets.",
|
|
422
|
-
),
|
|
423
|
-
) -> dict:
|
|
424
|
-
"""
|
|
425
|
-
Search for merged pull requests by author within a time period.
|
|
426
|
-
|
|
427
|
-
NOTE: For appraisals/performance reviews, use prepare_appraisal_data instead!
|
|
428
|
-
It fetches all PRs with full stats in parallel and avoids context overflow.
|
|
429
|
-
|
|
430
|
-
This tool returns basic PR info without stats (additions, deletions).
|
|
431
|
-
Use detail_level='summary' (default) for large result sets.
|
|
432
|
-
|
|
433
|
-
Requires QuickCall authentication with GitHub connected.
|
|
434
|
-
"""
|
|
435
|
-
try:
|
|
436
|
-
client = _get_client()
|
|
437
|
-
|
|
438
|
-
# Calculate since_date from days
|
|
439
|
-
from datetime import datetime, timedelta, timezone
|
|
440
|
-
|
|
441
|
-
since_date = (datetime.now(timezone.utc) - timedelta(days=days)).strftime(
|
|
442
|
-
"%Y-%m-%d"
|
|
443
|
-
)
|
|
444
|
-
|
|
445
|
-
# Use authenticated user if author not specified
|
|
446
|
-
if not author:
|
|
447
|
-
creds = get_credential_store().get_api_credentials()
|
|
448
|
-
if creds and creds.github_username:
|
|
449
|
-
author = creds.github_username
|
|
450
|
-
|
|
451
|
-
prs = client.search_merged_prs(
|
|
452
|
-
author=author,
|
|
453
|
-
since_date=since_date,
|
|
454
|
-
org=org,
|
|
455
|
-
repo=repo,
|
|
456
|
-
limit=limit,
|
|
457
|
-
detail_level=detail_level,
|
|
458
|
-
)
|
|
459
|
-
|
|
460
|
-
return {
|
|
461
|
-
"count": len(prs),
|
|
462
|
-
"detail_level": detail_level,
|
|
463
|
-
"period": f"Last {days} days",
|
|
464
|
-
"author": author,
|
|
465
|
-
"org": org,
|
|
466
|
-
"repo": repo,
|
|
467
|
-
"prs": prs,
|
|
468
|
-
}
|
|
469
|
-
except ToolError:
|
|
470
|
-
raise
|
|
471
|
-
except Exception as e:
|
|
472
|
-
raise ToolError(f"Failed to search merged PRs: {str(e)}")
|
|
473
|
-
|
|
474
396
|
@mcp.tool(tags={"github", "prs", "appraisal"})
|
|
475
397
|
def prepare_appraisal_data(
|
|
476
398
|
author: Optional[str] = Field(
|
|
@@ -11,10 +11,10 @@ mcp_server/resources/slack_resources.py,sha256=b_CPxAicwkF3PsBXIat4QoLbDUHM2g_iP
|
|
|
11
11
|
mcp_server/tools/__init__.py,sha256=vIR2ujAaTXm2DgpTsVNz3brI4G34p-Jeg44Qe0uvWc0,405
|
|
12
12
|
mcp_server/tools/auth_tools.py,sha256=kCPjPC1jrVz0XaRAwPea-ue8ybjLLTxyILplBDJ9Mv4,24477
|
|
13
13
|
mcp_server/tools/git_tools.py,sha256=jyCTQR2eSzUFXMt0Y8x66758-VY8YCY14DDUJt7GY2U,13957
|
|
14
|
-
mcp_server/tools/github_tools.py,sha256=
|
|
14
|
+
mcp_server/tools/github_tools.py,sha256=N4VvJu1X-1rWNTqVovYmKKmfbrJYtZ5f9kM2ftFEBVo,23002
|
|
15
15
|
mcp_server/tools/slack_tools.py,sha256=-HVE_x3Z1KMeYGi1xhyppEwz5ZF-I-ZD0-Up8yBeoYE,11796
|
|
16
16
|
mcp_server/tools/utility_tools.py,sha256=1WiOpJivu6Ug9OLajm77lzsmFfBPgWHs8e1hNCEX_Aw,3359
|
|
17
|
-
quickcall_integrations-0.3.
|
|
18
|
-
quickcall_integrations-0.3.
|
|
19
|
-
quickcall_integrations-0.3.
|
|
20
|
-
quickcall_integrations-0.3.
|
|
17
|
+
quickcall_integrations-0.3.2.dist-info/METADATA,sha256=_xknARbrRiIxzxz38TCAe1yW9WYPLMfl_cyzm-Nx5JA,7043
|
|
18
|
+
quickcall_integrations-0.3.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
19
|
+
quickcall_integrations-0.3.2.dist-info/entry_points.txt,sha256=kkcunmJUzncYvQ1rOR35V2LPm2HcFTKzdI2l3n7NwiM,66
|
|
20
|
+
quickcall_integrations-0.3.2.dist-info/RECORD,,
|
|
File without changes
|
{quickcall_integrations-0.3.1.dist-info → quickcall_integrations-0.3.2.dist-info}/entry_points.txt
RENAMED
|
File without changes
|