Token导航 LogoToken导航TokenDH.com
API registry logo
文档知识stdio官方级别未说明来源级核验

API registry

MCP Server

一个基于Databricks的API发现、注册和管理平台,提供AI驱动的聊天界面和MCP服务器功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
API集成TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

lucamilletti99

提供方

lucamilletti99

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run python setup_table.py your_catalog your_schema

详细介绍

🔌 API注册表MCP服务器

Databricks应用程序,通过AI聊天界面和MCP服务器帮助您发现、注册和管理外部API端点。

这是什么?

这是一个完整的API发现和管理平台,运行在Databricks应用程序上。它结合了:

  • 🤖 AI聊天界面:自然语言API注册由Claude提供支持
  • 📊 API注册表:外部API终结点的数据库支持目录
  • 🔍 智能发现:自动端点测试和验证
  • 📚 文档解析器:从API文档URL中提取终结点
  • 🛠️ MCP服务器:程序化API管理工具

快速开始

先决条件

工作空间要求:

  • 已启用copula应用程序(公开预览)
  • API基础模型 databricks-claude-sonnet-4 端点
  • 至少一个SQL仓库 (工作台操作和MCP工具所需)

- 如何创建SQL仓库 - 建议使用无服务器SQL仓库以获得最佳性能

  • Unity目录,带有可访问的Catalog.schema

工作空间_要求.md 了解详细的工作空间设置要求和故障排除。

地方发展:

  • Python 3.12+ uv 包管理器
  • copula命令行界面(databricks)v0.260.0+

身份验证设置:

1.克隆和设置

注: 所有部署命令都在本地计算机上运行,而不是在ViewModel中运行。

# On your local machine (not in Databricks):
git clone https://github.com/lucamilletti99/mcp_server_api_registry.git
cd mcp_server_api_registry

# Run interactive setup
# When prompted, press Enter to use default values shown in brackets
./setup.sh

设置提示:

  • 使用 个人访问令牌(PAT) 出现提示时进行身份验证
  • 按Enter键接受默认值(如括号所示)
  • 默认源代码路径: /Workspace/Users/your-email@company.com/app-name
  • MCP服务器名称将默认为您的应用程序名称

这将:

  • 安装 uv 如果不存在(在您的本地计算机上)
  • 配置copula CLI身份验证
  • 配置您的应用程序名称 (必须以 mcp-)
  • 在本地安装所有Python依赖项
  • 创建 .env.local 配置文件

重要提示: 您在安装过程中选择的应用程序名称将保存在 .env.local 并由以下人员自动使用 ./deploy.sh。您可以在部署时用以下命令覆盖它 --app-name 如有需要,请标记。

2.创建API注册表表

重要提示:在继续之前,请确保已完成步骤1(./setup.sh)!

此步骤的先决条件:

  • ✅ 您必须在工作区中至少创建一个SQL仓库
  • ✅ 仓库必须正在运行或可以启动
  • 📖 如何创建SQL仓库

该应用程序需要一个表来存储注册的API。您可以使用以下任一方法创建它:

选项1:使用Python脚本(推荐)

# The script automatically loads your .env.local configuration
uv run python setup_table.py your_catalog your_schema

# Optional: specify a warehouse ID
uv run python setup_table.py your_catalog your_schema --warehouse-id abc123

选项2:通过copula SQL编辑器手动操作

您也可以直接在copula中运行SQL:

  1. 打开 copula SQL编辑器 在您的工作空间中
  2. 复制以下内容 setup_api_registry_table.sql
  3. 替换 {catalog} 使用您的目录名称(例如。, lucam_ws_demo)
  4. 替换 {schema} 使用您的模式名称(例如。, custom_mcp_server)
  5. 运行查询
-- Example SQL (replace placeholders):
CREATE TABLE IF NOT EXISTS your_catalog.your_schema.api_registry (
  api_id STRING NOT NULL,
  api_name STRING NOT NULL,
  description STRING,
  api_endpoint STRING NOT NULL,
  documentation_url STRING,
  http_method STRING,
  auth_type STRING,
  token_info STRING,
  request_params STRING,
  status STRING,
  validation_message STRING,
  user_who_requested STRING,
  created_at TIMESTAMP,
  modified_date TIMESTAMP,
  CONSTRAINT api_registry_pk PRIMARY KEY (api_id)
)
COMMENT 'Registry of external API endpoints for discovery and management'
TBLPROPERTIES (
  'delta.enableChangeDataFeed' = 'true'
);

Python脚本的作用:

  • ✅ 自动加载 DATABRICKS_HOST.env.local
  • ✅ 自动检测并使用可用的SQL仓库
  • ✅ 创建 api_registry 具有正确模式的表
  • ✅ 验证表是否已成功创建

故障排除:

  • “DATABRICKS_HOST未设置” → Run ./setup.sh 第一
  • “未找到SQL仓库” → 使用创建一个 本指南
  • “权限被拒绝” → 确保你有 CAN_USE 仓库许可
  • 您还可以从以下位置手动运行SQL setup_api_registry_table.sql 在ConnectionSQL编辑器中

3.部署到copula

从本地计算机部署到copula Apps。

首次部署(应用程序尚不存在)

一步创建和部署应用程序:

# First time deployment - creates the app and deploys
./deploy.sh --create

# OR with a custom app name
./deploy.sh --app-name mcp-my-api-registry --create

--create 标志:

  • 如果不存在,则创建copula应用程序
  • 然后将代码部署到其中
  • 将其用于您的首次部署

后续部署(应用程序已存在)

创建应用程序后,只需部署更新:

# Update existing app with latest code
./deploy.sh

# OR update with verbose output for debugging
./deploy.sh --verbose

常见部署场景:

# First time: Create app with default name from .env.local
./deploy.sh --create

# First time: Create app with custom name
./deploy.sh --app-name mcp-prod-registry --create

# Update existing app after code changes
./deploy.sh

# Deploy to different app name (must exist already)
./deploy.sh --app-name mcp-dev-registry

# Debug deployment issues
./deploy.sh --verbose

应用程序命名规则:

  • 应用程序名称 必须从以下内容开始 mcp-
  • 仅使用小写字母、数字和连字符
  • 示例: mcp-api-registry, mcp-prod-registry, mcp-dev-1

部署脚本的作用:

  1. 显示配置摘要
  2. 验证应用程序名称(必须以开头 mcp-)
  3. 构建前端
  4. 打包Python后端
  5. 将所有内容上传到您的copula工作区
  6. 部署为copula应用程序

您的应用程序将在以下网址提供: https://your-app.databricksapps.com

故障排除:

  • “找不到应用程序” → Use --create 标记以先创建它
  • 构建错误 → Use --verbose 查看详细输出
  • 认证失败 → Run ./setup.sh 重新配置

4.访问您的应用程序

部署后,您的应用程序将在部署输出中显示的URL上可用:

✅ Deployment complete!

Your app is available at:
https://your-app.databricksapps.com

在浏览器中打开此URL以访问web界面并开始注册API!

特性

网页用户界面

通过您的应用程序URL访问web界面:

  1. 聊天游乐场:AI推动API注册

- 自然语言:“注册AlphaVantage股票API” - 自动端点发现和测试 - 文档URL解析 - 智能图案匹配

  1. API注册表:查看和管理已注册的API

- 编辑API详细信息和文档URL - 测试API健康状况 - 删除API - 筛选和搜索

  1. MCP信息:查看可用的MCP工具和提示

- 查看所有暴露的工具 - 复制安装说明 - 查看架构图

  1. 痕迹:调试AI代理执行

- 查看工具调用和响应 - 检查跟踪详细信息 - 监测性能

后端功能

该应用程序通过其MCP服务器界面提供编程工具:

  • API智能注册:具有自动发现功能的一步API注册
  • 手动注册:详细的API配置和注册
  • 注册表管理:列出并管理所有已注册的API
  • 文档发现:从API文档URL中提取终结点
  • 端点测试:使用自定义标头验证和测试API终结点
  • SQL集成:对copula仓库运行SQL查询
  • 仓库管理:列出并配置SQL仓库

配置

环境变量(.env.local)

DATABRICKS_HOST=https://your-workspace.cloud.databricks.com
DATABRICKS_TOKEN=your-personal-access-token  # For local development
DATABRICKS_SQL_WAREHOUSE_ID=your-warehouse-id  # Optional default warehouse

应用程序配置(app.yaml)

该应用程序已预先配置了代表(OBO)身份验证:

# On-Behalf-Of user authorization is enabled by default
# The app acts with the identity of the authenticated user
scopes:
  - "all-apis"     # Foundation Model API access
  - "sql"          # SQL warehouse and query execution
  - "files.files"  # DBFS file operations

这意味着:

  • 默认情况下启用OBO -无需额外设置
  • ✅ 用户在访问应用程序时使用他们的copula凭据进行身份验证
  • ✅ 所有操作都使用用户的权限(不是服务主体)运行
  • ✅ 适当的访问控制和审计日志记录

在UI中验证OBO:

部署后,您可以验证OBO是否正常工作:

  1. 在浏览器中打开已部署的应用程序URL
  2. 系统将提示您使用copula(OAuth)进行身份验证
  3. 登录后,应用程序将显示您的用户身份
  4. 所有API操作都将使用您的权限运行

备选方案:服务负责人回退

如果用户没有SQL仓库访问权限,应用程序会自动恢复使用服务主体进行数据库操作,同时仍为其他操作维护用户上下文。

部署提示

多次部署

您可以为不同的目的(开发、暂存、生产)部署应用程序的多个实例:

# Development instance
./deploy.sh --app-name mcp-dev-api-registry --create

# Staging instance
./deploy.sh --app-name mcp-staging-api-registry --create

# Production instance
./deploy.sh --app-name mcp-prod-api-registry --create

每个部署都有自己的:

  • 唯一URL
  • 独立数据库(如果使用不同的目录/模式)
  • 单独的身份验证范围
  • 独立的API注册表数据

最佳实践

  • 使用描述性名称: mcp-{environment}-{purpose} (例如。, mcp-prod-customer-apis)
  • 测试用 --verbose:如果出现故障,请查看详细的部署日志
  • 使用 --create:如果不存在,则自动创建应用程序
  • 保持名字简短:在MCP设置命令中更容易参考

发展

地方发展

# Start dev server (frontend + backend with hot reload)
./watch.sh

# Access at:
# - Frontend: http://localhost:5173
# - Backend: http://localhost:8000
# - API Docs: http://localhost:8000/docs

代码格式化

./fix.sh  # Format Python (ruff) and TypeScript (prettier)

调试

# Check app status
./app_status.sh

# Stream app logs
uv run python dba_logz.py https://your-app.databricksapps.com --duration 60

# Test API endpoints
uv run python dba_client.py https://your-app.databricksapps.com /api/user/me

项目结构

├── server/                     # FastAPI backend
│   ├── app.py                 # Main application + MCP server
│   ├── tools.py               # MCP tools implementation
│   └── routers/               # API endpoints
│       ├── agent_chat.py      # AI chat endpoint
│       ├── registry.py        # API registry CRUD
│       └── db_resources.py    # Databricks resources
├── client/                    # React TypeScript frontend
│   └── src/
│       ├── pages/             # Page components
│       └── components/        # Reusable UI components
├── prompts/                   # MCP prompts (markdown)
├── dba_mcp_proxy/            # MCP proxy for Claude CLI
├── setup_table.py            # Database table setup script
├── setup_api_registry_table.sql  # Table schema
├── deploy.sh                 # Deploy to Databricks Apps
├── watch.sh                  # Local development server
└── pyproject.toml           # Python dependencies

认证

该应用程序使用 代表(OBO)身份验证:

  • 用户的OAuth令牌从copula Apps转发
  • 如果用户没有SQL仓库访问权限,则回退到服务主体
  • 所有操作都在适当的用户上下文中运行

使用示例

通过聊天注册API

User: Register the Alpha Vantage stock API, here's the docs: https://www.alphavantage.co/documentation/

AI: I'll register the Alpha Vantage API for you.
[Fetches documentation, discovers endpoints, tests them, registers the best one]

✅ Successfully registered "alphavantage_stock" with validation: HTTP 200 OK

发现新端点

User: Can you check the SEC API documentation and find more endpoints?

AI: Let me review the SEC API documentation for new endpoints.
[Fetches stored documentation URL, parses it, tests discovered endpoints]

Found 5 working endpoints:
1. /search/filings
2. /company/{CIK}
3. /facts/{CIK}
...

查询注册表

User: Show me all registered APIs

AI: Here are your registered APIs:
- alphavantage_stock: Alpha Vantage stock market data
- fred_series_api: Federal Reserve Economic Data
- sec_api: SEC filings and company data
...

故障排除

有关详细的工作空间要求和设置问题,请参阅 工作空间_要求.md

找不到表错误:

  • 创建 api_registry 所选catalog.schema中的表
  • 或者使用具有该表的其他catalog.schema

身份验证失败:

  • 确保使用了以下方式对Rancher CLI进行身份验证: databricks current-user me
  • 检查 .env.local 有正确 DATABRICKS_HOST

应用程序无法访问:

  • 验证应用程序是否已部署: ./app_status.sh
  • 检查应用程序日志:访问 https://your-app.databricksapps.com/logz 浏览器中
  • 确保您可以访问工作区的网络

API注册失败:

  • 检查应用程序日志: uv run python dba_logz.py YOUR_APP_URL --search "ERROR"
  • 验证仓库是否可以访问所需的目录
  • 尝试手动注册 register_api_in_registry

未启用copula应用程序:

基础模型端点错误:

许可证

许可证.md

安全

安全.md 用于报告安全漏洞。

目录标签

目录标签

API集成TypeScriptClaudeAPI管理本地部署AI聊天界面端点发现文档解析MCP服务器

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP