19 Commits

Author SHA1 Message Date
George Antonopoulos
feb0d297f4 Make Link header parsing more robust
Split on comma before searching for rel="next" to avoid
incorrectly matching page number from a different link
(e.g., rel="prev") in multi-link headers.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 19:39:52 +00:00
George Antonopoulos
43aa595433 Fix review issues in pagination implementation
- Move `import re` to top of file (was inline in function)
- Add page parameter validation (page >= 1)
- Fix parameter order bug in search_utils.py (was swapped)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 19:34:51 +00:00
Mammad M.
67d68af1da Add pagination support to get_comments
- Add page parameter to get_comments (default: 1)
- Parse X-Total-Count header for total comments count
- Parse Link header for next_page indicator
- Update FastMCP tool and CLI server to return pagination metadata

Response now includes total_count and next_page fields to help
clients navigate through paginated comments.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 00:33:00 +01:00
George Antonopoulos
c3c96712e6 Enhance get_todos method to handle pagination in BasecampClient
Updated the get_todos method to retrieve all todos from a todolist by handling pagination transparently. The method now aggregates todos across multiple pages and updates the README to reflect this change.
2025-08-28 14:00:53 +01:00
Dominik Fretz
b7e0bac71a Fix conditional checks in todo payload builders to allow falsey values
Changed truthy checks to explicit 'is not None' checks in create_todo and
update_todo methods to properly handle intentionally empty/false values
(empty lists, False) being sent to the API for field clearing.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-27 10:11:57 +10:00
Dominik Fretz
5aeec24743 Update basecamp_client.py
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-08-27 09:59:19 +10:00
Dominik Fretz
1266ecb921 Add todo item management functionality
- Add create, update, delete, complete, and uncomplete methods to basecamp_client.py
- Add tool definitions and execution logic to mcp_server_cli.py
- Add async todo management functions to basecamp_fastmcp.py
- Support all optional fields: description, assignees, due dates, notifications
- Use lambda wrapper for proper keyword argument handling in FastMCP

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 14:42:55 +10:00
George Antonopoulos
0032498949 Add upload management features to Basecamp integration
- Implement methods to list uploads and retrieve specific upload details in basecamp_client.py.
- Add corresponding asynchronous functions for uploads in basecamp_fastmcp.py.
- Enhance search functionality to include uploads in search_utils.py, allowing users to search by filename or content.
2025-07-30 10:22:42 +01:00
George Antonopoulos
da041f9c5d Fix BasecampClient to include authentication in attachment uploads 2025-07-27 18:29:01 +01:00
George Antonopoulos
fc3a5b922a Add additional Basecamp API tools 2025-07-20 20:51:47 +01:00
George Antonopoulos
a439865ef4 Refactor card management in Basecamp client and MCP server CLI
- Rename and enhance methods for retrieving card tables and managing cards.
- Introduce new methods for completing and uncompleting cards and card steps.
- Update MCP server CLI to include new card and card step functionalities.
- Revise README to reflect changes in card management tools and usage examples.
2025-06-29 08:22:09 +01:00
George Antonopoulos
4e466c20da Add card table functionality to Basecamp client and MCP server CLI
- Implement methods for managing card tables and columns in BasecampClient.
- Add corresponding tools in MCP server CLI for card table operations.
- Update README with new card table tools and usage examples.
- Create example script demonstrating card table API usage.
- Add unit tests for card table functionality.
2025-06-26 22:34:01 +01:00
George Antonopoulos
0d64f6028c Merge remote-tracking branch 'origin/codex/cleanup-files--newline-and-trailing-spaces' 2025-06-06 10:39:25 +01:00
George Antonopoulos
0884dcd105 chore: remove trailing spaces and ensure newline 2025-06-06 10:23:50 +01:00
Alexander Anikeev
cb82df4547 Add daily check-ins functionality, fix some issues with getting todo lists/sets 2025-06-05 18:51:36 +07:00
George Antonopoulos
32a0de3bb0 feat: Add Basecamp API client and OAuth authentication module
This commit introduces two new files:
- `basecamp_client.py`: A client for interacting with the Basecamp 3 API, supporting both Basic Authentication and OAuth 2.0.
- `basecamp_oauth.py`: A module for handling OAuth 2.0 authentication with Basecamp 3, including methods for obtaining authorization URLs, exchanging codes for tokens, and refreshing tokens.

These additions provide essential functionality for integrating with the Basecamp API, enhancing the overall capabilities of the project.
2025-06-02 17:13:17 +01:00
George Antonopoulos
b3a6efc5d7 refactor: Remove deprecated files and clean up codebase
This commit deletes obsolete files related to the Basecamp MCP integration, including:
- `basecamp_client.py`
- `basecamp_oauth.py`
- `composio_client_example.py`
- `composio_integration.py`
- `mcp_integration.py`
- `setup.sh`
- `start_basecamp_mcp.sh`

Additionally, a new file `mcp_server_cli.py` is introduced to streamline the MCP server functionality. The README has been updated to reflect these changes and provide clearer setup instructions.

This cleanup aims to enhance maintainability and focus on the core components of the integration.
2025-06-02 17:11:39 +01:00
George Antonopoulos
e08e48de50 Fix Basecamp Campfire functionality and improve error handling 2025-03-09 17:16:07 +00:00
George Antonopoulos
9c49ce02b1 Initial commit: Basecamp MCP server with OAuth authentication 2025-03-09 16:42:28 +00:00