Skip to content

Three setup issues on Linux Mint 22.3 / Node v24 — missing SQL functions, CLI install failure, Claude Desktop connector incompatibility #173

@oldgranola

Description

@oldgranola

Hi Nate — big fan of the project. I just completed setup on Linux Mint 22.3 and hit three issues that required workarounds not covered in the guide. Sharing here so others on Linux don't hit the same walls.

System details:

  • OS: Linux Mint 22.3 (based on Ubuntu 24.04 LTS)
  • Node.js: v24.13.1 (via nvm)
  • Supabase CLI: v2.84.2 (installed via direct Linux binary)
  • mcp-remote: v0.1.38 (via npx)
  • Claude Desktop: community Linux port (not Anthropic's official Mac/Windows build)

Issue 1: Two SQL functions missing from setup steps

The server code calls upsert_thought and match_thoughts with specific signatures that don't match what the guide's SQL creates. After setup, capture_thought failed with:

Could not find the function public.upsert_thought(p_content, p_payload) in the schema cache

And search_thoughts returned no results even with confirmed embeddings stored.

Workaround — add these two functions manually in the Supabase SQL editor:

create or replace function upsert_thought(p_content text, p_payload jsonb)
returns thoughts
language plpgsql
as $$
declare
  v_thought thoughts;
begin
  insert into thoughts (content, embedding, metadata)
  values (
    p_content,
    (p_payload->>'embedding')::vector,
    p_payload->'metadata'
  )
  returning * into v_thought;
  return v_thought;
end;
$$;

And recreate match_thoughts with this parameter order and lower default threshold:

drop function if exists match_thoughts(vector, float, int);

create or replace function match_thoughts(
  query_embedding vector(1536),
  filter jsonb default '{}',
  match_count int default 10,
  match_threshold float default 0.3
)
returns table (
  id uuid,
  content text,
  metadata jsonb,
  created_at timestamptz,
  similarity float
)
language sql stable
as $$
  select
    thoughts.id,
    thoughts.content,
    thoughts.metadata,
    thoughts.created_at,
    1 - (thoughts.embedding <=> query_embedding) as similarity
  from thoughts
  where 1 - (thoughts.embedding <=> query_embedding) > match_threshold
  order by thoughts.embedding <=> query_embedding
  limit match_count;
$$;

Issue 2: Supabase CLI npm global install fails on Node v24

The guide suggests npm install -g supabase. On Node v24.13.1 this fails with:

npm error Installing Supabase CLI as a global module is not supported.

Supabase now blocks global npm install entirely. Workaround for Linux Mint / Ubuntu:

wget -qO- https://github.com/supabase/cli/releases/latest/download/supabase_linux_amd64.tar.gz | tar -xz -C /tmp && sudo mv /tmp/supabase /usr/local/bin/supabase

Issue 3: Claude Desktop Linux port — Connectors GUI fails, JSON config workaround needed

The guide's Step 7.1 says to add the connector via Settings → Connectors. On the community Linux port of Claude Desktop, clicking Connect opens a browser OAuth flow that fails and redirects to Cowork. The connector shows permanently as "not connected."

Workaround — add directly to claude_desktop_config.json using mcp-remote:

"open-brain": {
  "command": "npx",
  "args": [
    "mcp-remote",
    "https://YOUR_PROJECT_REF.supabase.co/functions/v1/open-brain-mcp?key=YOUR_MCP_ACCESS_KEY",
    "--transport",
    "sse"
  ],
  "env": {
    "PATH": "/home/user/.nvm/versions/node/VERSION/bin:/usr/local/bin:/usr/bin:/bin"
  }
}

Note: mcp-remote will warn that sse is not a valid transport strategy but still connects successfully using http-first. The Connectors GUI continues to show "not connected" but all four tools work correctly.


Hope this helps improve the guide for Linux users. Happy to provide more detail on any of these if useful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions