63 Commits

Author SHA1 Message Date
George Antonopoulos
f0f27f078a ENv file ignored 2025-06-06 10:20:32 +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
5503ba5f8f doc not needed 2025-06-02 17:45:26 +01:00
George Antonopoulos
1d856c0899 env example updated 2025-06-02 17:41:08 +01:00
George Antonopoulos
00754b21c3 Merge feature/sse-mcp-cursor-compat into main - Added CLI MCP server, tests, and Cursor config generator 2025-06-02 17:26:56 +01:00
George Antonopoulos
9bb32c5697 Update .gitignore to include Composio integration files and modify README for clarity and setup instructions 2025-06-02 17:19:35 +01: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
google-labs-jules[bot]
b0deac4d87 feat: Implement SSE endpoint for Cursor compatibility
This commit introduces a Server-Sent Events (SSE) endpoint at `/mcp/stream`
to improve compatibility with Cursor, which appears to expect an SSE stream
for actions like `ListOfferings`.

Changes include:
- Added a new `/mcp/stream` route to `mcp_server.py`.
- This stream sends an initial "connected" event.
- It then attempts to fetch and stream Basecamp projects as "offering" events.
  - Handles authentication errors (e.g., missing tokens) by sending an
    `auth_error` event over SSE.
  - Sends an "offerings_complete" event after successfully streaming projects.
- The stream sends periodic "ping" events to keep the connection alive.
- The `Content-Type` header for `/mcp/stream` is correctly set to
  `text/event-stream`.
- Updated `README.md` to suggest the new `/mcp/stream` URL for Cursor
  configuration and provide context.

Issue #3 (regarding refactoring BasecampClient initialization) was
investigated. The existing `get_basecamp_client()` in `mcp_server.py`,
which includes token refresh logic, was found to be more suitable than
alternatives in `mcp_integration.py` or `composio_integration.py`.
No code changes were made for Issue #3.

Testing with `curl` confirmed the SSE endpoint's functionality,
including correct event flow and error handling.
2025-06-02 11:41:24 +00:00
George Antonopoulos
c9d4165584 instructions for Claude 2025-05-07 12:34:58 +01:00
George Antonopoulos
712344741e Fix token_storage function name and ensure Composio integration is fully functional 2025-03-09 17:29:28 +00: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