Commit Graph

55 Commits

Author SHA1 Message Date
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