-
Notifications
You must be signed in to change notification settings - Fork 225
Description
Bug Report
Describe the bug
The Supabase MCP server's list_tables tool generates an excessive amount of data (approximately 3MB of JSON output) which causes Cursor IDE to stop functioning due to conversation length limitations. When attempting to use the list_tables tool through the MCP server, the conversation consistently becomes too long, causing Cursor to stop responding and requiring a new conversation to be started.
To Reproduce
Steps to reproduce the behavior:
- Open Cursor IDE
- Start a new conversation
- Connect to Supabase using MCP tools
- Successfully query database status (returns healthy)
- Attempt to use the list_tables tool
- Wait 10-15 seconds while Cursor processes
- Conversation terminates with "conversation has gotten too long" error
I only have this one database setup to test it on, but the issue is 100% reproducible, occurring every time the list_tables command is attempted. It has two main tables but also uses TimeScaleDB hypertables.
- NOTE: Claude thinks it's related to TimeScaleDB hypertables and their chunks.
Expected behavior
The list_tables tool should return the table list in a more concise format that doesn't exceed Cursor's conversation length limitations, allowing for continued interaction within the same conversation.
System information
- OS: macOS 24.1.0
- Cursor IDE Version: 0.48.9 (latest)
- Supabase MCP Version: 0.3.5
- PostgreSQL Engine Version: 15
- Specific PostgreSQL Version: 15.8.1.054
- Release Channel: GA (General Availability)
Additional context
- The tool generates approximately 3MB of JSON output data
- The output is extremely verbose and difficult to parse
- The issue occurs consistently in fresh conversations, indicating it's not related to previous conversation context
- Database health checks work fine before the list_tables attempt
- The conversation termination occurs after 10-15 seconds of processing time
Technical Details
The excessive output appears to be related to how the list_tables tool formats and returns the database schema information. The current implementation seems to include more verbose JSON formatting than necessary for basic table listing functionality. This may be related to TimeScaleDB hypertables and their chunks.
Active Extensions:
- pg_stat_statements (for query performance monitoring)
- pgcrypto (for cryptographic functions)
- pgjwt (for JWT handling)
- http and pg_net (for async networking)
- plv8 (for JavaScript procedures)
- uuid-ossp (for UUID generation)