ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 如何添加 Supabase MCP 进行 AI 驱动的数据分析
教程

如何添加 Supabase MCP 进行 AI 驱动的数据分析

通过 MCP 将 Supabase 连接到 Claude Code 以进行自然语言 SQL 查询。将数据库洞察与实时搜索丰富相结合。

获取免费API密钥API文档

Supabase MCP 让 Claude Code 使用自然语言直接查询您的 Postgres 数据库。结合搜索丰富化,您的人工智能代理可以回答诸如“哪些客户与最近获得资助的公司相匹配?”之类的问题。通过将内部数据与实时网络结果相结合。本教程设置 Supabase MCP,配置只读访问以确保安全,并添加搜索丰富步骤,以使用新的 Web 数据增强查询结果。成本:每个搜索丰富查询 0.005 美元。

前置条件

  • 包含数据的 Supabase 项目
  • Supabase 服务角色密钥或只读密钥
  • 安装克劳德代码
  • Python 3.9+ 和请求库

操作指南

步骤 1: 在 Claude 代码中配置 Supabase MCP

将 Supabase MCP 服务器添加到您的 .mcp.json。使用只读密钥来防止意外写入。

Python
import json
from pathlib import Path

mcp_config = {
    'mcpServers': {
        'supabase': {
            'command': 'npx',
            'args': ['-y', '@supabase/mcp-server'],
            'env': {
                'SUPABASE_URL': 'https://your-project.supabase.co',
                'SUPABASE_KEY': 'your-read-only-key-here'
            }
        }
    }
}

mcp_path = Path('.mcp.json')
if mcp_path.exists():
    existing = json.loads(mcp_path.read_text())
    existing['mcpServers']['supabase'] = mcp_config['mcpServers']['supabase']
    mcp_config = existing

mcp_path.write_text(json.dumps(mcp_config, indent=2))
print('Supabase MCP configured in .mcp.json')
print('Restart Claude Code to connect.')

步骤 2: 从 Python 查询 Supabase 进行丰富

使用 Supabase Python 客户端提取您想要通过搜索结果丰富的数据。这个例子拉动客户公司去研究。

Python
import os
from supabase import create_client

SUPABASE_URL = os.environ['SUPABASE_URL']
SUPABASE_KEY = os.environ['SUPABASE_KEY']

supabase = create_client(SUPABASE_URL, SUPABASE_KEY)

# Pull companies to research
result = supabase.table('customers').select('id, company_name, domain').limit(10).execute()
companies = result.data

print(f'Loaded {len(companies)} companies to enrich')
for c in companies[:5]:
    print(f'  {c["company_name"]}: {c["domain"]}')

步骤 3: 通过实时搜索丰富数据库记录

对于 Supabase 中的每家公司,在网络上搜索最新新闻、资金或招聘信号,然后写回丰富内容。

Python
import requests

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

def enrich_company(company: dict) -> dict:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': f'{company["company_name"]} funding news 2026',
              'country_code': 'us', 'num_results': 3})
    results = resp.json().get('organic_results', [])
    signals = []
    for r in results:
        snippet = r.get('snippet', '').lower()
        if any(w in snippet for w in ['funding', 'raised', 'series', 'acquisition']):
            signals.append('funding_news')
        if any(w in snippet for w in ['hiring', 'job', 'careers', 'open role']):
            signals.append('actively_hiring')
    return {
        'company_id': company['id'],
        'top_result': results[0]['title'] if results else '',
        'signals': list(set(signals)),
        'results_count': len(results)
    }

enriched = [enrich_company(c) for c in companies[:5]]
for e in enriched:
    print(f'  Company {e["company_id"]}: {e["signals"] or ["no signals"]} -- {e["top_result"][:50]}')
print(f'Cost: {len(enriched)} searches = ${len(enriched) * 0.005:.3f}')

Python 示例

Python
import os, requests
from supabase import create_client

supabase = create_client(os.environ['SUPABASE_URL'], os.environ['SUPABASE_KEY'])
SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

companies = supabase.table('customers').select('id, company_name').limit(5).execute().data

for c in companies:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': f'{c["company_name"]} news 2026', 'country_code': 'us', 'num_results': 3})
    top = resp.json().get('organic_results', [{}])[0].get('title', 'N/A')
    print(f'{c["company_name"]}: {top}')

JavaScript 示例

JavaScript
import { createClient } from '@supabase/supabase-js';

const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_KEY);
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;

async function enrichCompanies() {
  const { data: companies } = await supabase.from('customers').select('id, company_name').limit(5);
  for (const c of companies) {
    const resp = await fetch('https://api.scavio.dev/api/v1/search', {
      method: 'POST',
      headers: { 'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json' },
      body: JSON.stringify({ query: `${c.company_name} news 2026`, country_code: 'us', num_results: 3 })
    });
    const top = (await resp.json()).organic_results?.[0]?.title || 'N/A';
    console.log(`${c.company_name}: ${top}`);
  }
}

enrichCompanies();

预期输出

JSON
Loaded 10 companies to enrich
  Acme Corp: acme.io
  TechFlow: techflow.dev

  Company 1: ['funding_news'] -- Acme Corp Raises $15M Series A
  Company 2: ['actively_hiring'] -- TechFlow Careers - 12 Open Roles
  Company 3: ['funding_news', 'actively_hiring'] -- DataSync Acquir
Cost: 5 searches = $0.025

相关教程

  • 如何根据 Swagger 规范构建 MCP 服务器
  • 如何构建安全文件系统和 Git MCP 代理
  • 如何通过 SERP 丰富构建本地潜在客户渠道

常见问题

大多数开发者在15到30分钟内完成本教程。您需要一个Scavio API密钥(免费套餐即可)和可用的Python或JavaScript环境。

包含数据的 Supabase 项目. Supabase 服务角色密钥或只读密钥. 安装克劳德代码. Python 3.9+ 和请求库. Scavio API密钥注册即送50个免费积分。

可以。免费套餐注册即送50个积分,完全足够完成本教程并构建一个可运行的原型解决方案。

Scavio提供原生LangChain包(langchain-scavio)、MCP服务器以及适用于任何HTTP客户端的REST API。本教程使用 the raw REST API, 但您可以根据需要适配您选择的框架。

相关资源

Best Of

2026年Claude Code最佳MCP搜索工具

Read more
Best Of

2026 年 Claude Desktop 最佳 MCP 搜索工具

Read more
Use Case

IDE MCP 搜索

Read more
Use Case

MCP 自定义搜索服务器

Read more
Solution

MCP按需上下文节省

Read more
Solution

MCP Tavily Scavio

Read more

开始构建

通过 MCP 将 Supabase 连接到 Claude Code 以进行自然语言 SQL 查询。将数据库洞察与实时搜索丰富相结合。

获取免费API密钥阅读文档
ScavioScavio

面向AI智能体的实时搜索API。搜索所有平台,不仅仅是Google。

产品

  • 功能
  • 定价
  • 控制台
  • 联盟计划

开发者

  • 文档
  • API参考
  • 快速开始
  • MCP集成
  • Python SDK

替代方案

  • Tavily替代方案
  • SerpAPI替代方案
  • Firecrawl替代方案
  • Exa替代方案

工具

  • JSON格式化
  • cURL转代码
  • Token计数器
  • 全部工具

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策