Skip to content

Bug Report: Supabase MCP list_tables Tool Causes Cursor IDE Termination Due to Excessive Output #60

@itaki

Description

@itaki

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:

  1. Open Cursor IDE
  2. Start a new conversation
  3. Connect to Supabase using MCP tools
  4. Successfully query database status (returns healthy)
  5. Attempt to use the list_tables tool
  6. Wait 10-15 seconds while Cursor processes
  7. Conversation terminates with "conversation has gotten too long" error

https://imgur.com/a/9fvO8TZ

Returned Output

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions