quickcall-integrations 0.3.2__tar.gz → 0.3.3__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 (41) hide show
  1. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/PKG-INFO +1 -1
  2. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/tools/github_tools.py +17 -23
  3. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/plugins/quickcall/.claude-plugin/plugin.json +1 -1
  4. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/plugins/quickcall/commands/appraisal.md +9 -12
  5. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/pyproject.toml +1 -1
  6. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/.claude-plugin/marketplace.json +0 -0
  7. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/.github/workflows/publish-pypi.yml +0 -0
  8. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/.gitignore +0 -0
  9. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/.pre-commit-config.yaml +0 -0
  10. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/Dockerfile +0 -0
  11. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/README.md +0 -0
  12. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/assets/logo.png +0 -0
  13. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/__init__.py +0 -0
  14. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/api_clients/__init__.py +0 -0
  15. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/api_clients/github_client.py +0 -0
  16. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/api_clients/slack_client.py +0 -0
  17. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/auth/__init__.py +0 -0
  18. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/auth/credentials.py +0 -0
  19. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/auth/device_flow.py +0 -0
  20. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/resources/__init__.py +0 -0
  21. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/resources/slack_resources.py +0 -0
  22. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/server.py +0 -0
  23. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/tools/__init__.py +0 -0
  24. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/tools/auth_tools.py +0 -0
  25. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/tools/git_tools.py +0 -0
  26. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/tools/slack_tools.py +0 -0
  27. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/mcp_server/tools/utility_tools.py +0 -0
  28. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/plugins/quickcall/commands/connect-github-pat.md +0 -0
  29. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/plugins/quickcall/commands/connect.md +0 -0
  30. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/plugins/quickcall/commands/slack-summary.md +0 -0
  31. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/plugins/quickcall/commands/status.md +0 -0
  32. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/plugins/quickcall/commands/updates.md +0 -0
  33. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/requirements.txt +0 -0
  34. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/tests/README.md +0 -0
  35. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/tests/appraisal/__init__.py +0 -0
  36. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/tests/appraisal/setup_test_data.py +0 -0
  37. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/tests/test_appraisal_integration.py +0 -0
  38. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/tests/test_appraisal_tools.py +0 -0
  39. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/tests/test_integrations.py +0 -0
  40. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/tests/test_tools.py +0 -0
  41. {quickcall_integrations-0.3.2 → quickcall_integrations-0.3.3}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: quickcall-integrations
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: MCP server with developer integrations for Claude Code and Cursor
5
5
  Requires-Python: >=3.10
6
6
  Requires-Dist: fastmcp>=2.13.0
@@ -164,10 +164,8 @@ def create_github_tools(mcp: FastMCP) -> None:
164
164
  List pull requests for a GitHub repository.
165
165
 
166
166
  Returns PRs sorted by last updated.
167
- Requires QuickCall authentication with GitHub connected.
168
-
169
- Use detail_level='summary' (default) to avoid context overflow with large result sets.
170
- Use get_pr(number) to get full details for specific PRs when needed.
167
+ Use detail_level='summary' (default) to avoid context overflow.
168
+ Use get_prs() to fetch full details for specific PRs.
171
169
  """
172
170
  try:
173
171
  client = _get_client()
@@ -286,10 +284,8 @@ def create_github_tools(mcp: FastMCP) -> None:
286
284
  List commits for a GitHub repository.
287
285
 
288
286
  Returns commits sorted by date (newest first).
289
- Requires QuickCall authentication with GitHub connected.
290
-
291
- Use detail_level='summary' (default) to avoid context overflow with large result sets.
292
- Use get_commit(sha) to get full details for specific commits when needed.
287
+ Use detail_level='summary' (default) to avoid context overflow.
288
+ Use get_commit(sha) for full details on a specific commit.
293
289
  """
294
290
  try:
295
291
  client = _get_client()
@@ -413,18 +409,17 @@ def create_github_tools(mcp: FastMCP) -> None:
413
409
  ),
414
410
  ) -> dict:
415
411
  """
416
- Prepare appraisal data by fetching ALL merged PRs with full details.
417
-
418
- USE THIS TOOL FOR APPRAISALS AND PERFORMANCE REVIEWS!
412
+ Fetch all merged PRs for appraisals/performance reviews.
419
413
 
420
- This is the recommended tool for gathering contribution data because it:
421
- 1. Fetches ALL merged PRs with full stats (additions, deletions) in PARALLEL
422
- 2. Dumps everything to a local file (avoids context overflow)
423
- 3. Returns just PR titles for you to review
424
- 4. Then use get_appraisal_pr_details(file_path, pr_numbers) for selected PRs
414
+ Returns:
415
+ - file_path: temp file with full PR data (additions, deletions, files)
416
+ - pr_titles: list of {number, title, repo} for Claude to review
417
+ - count: total PRs found
425
418
 
426
- DO NOT use search_merged_prs for appraisals - it doesn't include stats
427
- and causes context overflow with large result sets.
419
+ Workflow:
420
+ 1. Call this tool get file_path and pr_titles
421
+ 2. Review pr_titles, pick significant PRs
422
+ 3. Call get_appraisal_pr_details(file_path, [pr_numbers]) for full details
428
423
  """
429
424
  import json
430
425
  import tempfile
@@ -533,13 +528,12 @@ def create_github_tools(mcp: FastMCP) -> None:
533
528
  ),
534
529
  ) -> dict:
535
530
  """
536
- Get full PR details from the appraisal data dump.
531
+ Read full PR details from the appraisal data file.
537
532
 
538
- This reads from the local file created by prepare_appraisal_data.
539
- NO API CALLS are made - all data comes from the cached dump.
533
+ Call this after prepare_appraisal_data with selected PR numbers.
534
+ Reads from the cached file - no API calls made.
540
535
 
541
- Use this after prepare_appraisal_data to get full details for specific PRs
542
- that Claude has identified as important for the appraisal.
536
+ Returns: additions, deletions, files changed, body for selected PRs.
543
537
  """
544
538
  import json
545
539
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "quickcall",
3
3
  "description": "Integrate quickcall into dev workflows - eliminate interruptions for developers. Ask about your work, get instant answers. No more context switching.",
4
- "version": "0.6.1",
4
+ "version": "0.6.2",
5
5
  "author": {
6
6
  "name": "Sagar Sarkale"
7
7
  }
@@ -16,11 +16,10 @@ Parse `$ARGUMENTS` for time period:
16
16
 
17
17
  ## Instructions
18
18
 
19
- **IMPORTANT:** Only use these two MCP tools for appraisals:
20
- 1. `prepare_appraisal_data` - fetches and dumps all PR data to a temp file
21
- 2. `get_appraisal_pr_details` - reads specific PRs from that file (no API calls)
19
+ **Two-step flow (avoids context overflow):**
22
20
 
23
- Do NOT use `get_prs`, `list_prs`, or any other tools - they will overflow context.
21
+ 1. `prepare_appraisal_data` fetches all PRs, dumps to file, returns titles + PR numbers
22
+ 2. `get_appraisal_pr_details` → Claude picks which PRs to get details for, reads from file
24
23
 
25
24
  ---
26
25
 
@@ -28,9 +27,8 @@ Do NOT use `get_prs`, `list_prs`, or any other tools - they will overflow contex
28
27
 
29
28
  **Option A - GitHub API (preferred):**
30
29
  - Call `prepare_appraisal_data(days=X)` with the parsed time period
31
- - This fetches ALL merged PRs with full stats in PARALLEL
32
- - Dumps everything to a temp file (avoids context overflow)
33
- - Returns: `file_path` + list of `pr_titles` (number, title, repo only)
30
+ - This fetches ALL merged PRs with full stats in PARALLEL and dumps to a temp file
31
+ - Returns: `file_path` + `pr_titles` (number, title, repo for each PR)
34
32
  - Optional: pass `org` or `repo` parameter to filter
35
33
 
36
34
  **Option B - Local Git (fallback):**
@@ -44,11 +42,10 @@ Do NOT use `get_prs`, `list_prs`, or any other tools - they will overflow contex
44
42
  - **Bug fixes**: (fix:, bugfix:, hotfix:, resolve, patch)
45
43
  - **Chores**: Maintenance work (docs:, test:, ci:, chore:, refactor:, bump)
46
44
 
47
- 3. **Get details for top accomplishments:**
48
- - Pick the top 5-10 significant PRs from the categorized list
49
- - Call `get_appraisal_pr_details(file_path, [pr_numbers])`
50
- - This reads from the temp file - NO additional API calls
51
- - Returns full details: additions, deletions, files, body
45
+ 3. **Get full details for selected PRs:**
46
+ - Based on the titles, pick the top 5-10 significant PRs worth highlighting
47
+ - Call `get_appraisal_pr_details(file_path, [pr_numbers])` with the selected PR numbers
48
+ - Returns: full details (additions, deletions, files, body) for those PRs only
52
49
 
53
50
  4. **Calculate summary metrics:**
54
51
  - Total PRs merged by category
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "quickcall-integrations"
3
- version = "0.3.2"
3
+ version = "0.3.3"
4
4
  description = "MCP server with developer integrations for Claude Code and Cursor"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"