Quilt MCP Server

Quilt MCP Server

Enables searching, analyzing, and managing data packages in a Quilt data catalog through natural language, with 84+ tools including package CRUD operations.

Category
访问服务器

README

Quilt MCP Server

MCP server for Quilt data catalog - search, analyze, and manage data packages with 84+ tools.

Tests Python 3.11+ License

Quick Start

1. Terminal (Direct)

# Run directly with uvx (requires uv: https://docs.astral.sh/uv/)
# Default deployment is "local" (platform + stdio)
uvx quilt-mcp

# Other deployment modes
uvx quilt-mcp --deployment remote  # platform + http
uvx quilt-mcp --deployment legacy  # quilt3 + stdio

# Or install globally
uv tool install quilt-mcp
quilt-mcp

2. Claude Desktop (One-Click)

  1. Download .mcpb from releases
  2. Double-click to install or drag to Claude Desktop
  3. Configure catalog in Settings → Extensions → Quilt MCP

3. Claude Code CLI

# Add to Claude Code CLI with environment variables
npx @anthropic-ai/claude-code mcp add quilt-mcp uvx quilt-mcp \
  -e QUILT_CATALOG_URL=https://your-catalog.quiltdata.com \
  -e AWS_PROFILE=your-profile

4. Custom MCP Clients

Add to your mcp.json:

{
  "mcpServers": {
    "quilt": {
      "command": "uvx",
      "args": ["quilt-mcp"],
      "env": {
        "QUILT_CATALOG_URL": "https://quilt-stack.yourcompany.com"
      }
    }
  }
}

Configuration

Configure or refresh quilt3 credentials with:

# Configure catalog and authenticate (interactive)
quilt3 config

# Or set directly
quilt3 config https://your-stack.your-company.com

# Login (opens browser for SSO, or prompts for credentials)
quilt3 login

By default, quilt-mcp uses the local deployment mode (--deployment local), which uses the platform backend and requires:

  • QUILT_CATALOG_URL
  • authentication (quilt3 login session)

Use deployment presets:

uvx quilt-mcp --deployment remote  # platform + http
uvx quilt-mcp --deployment local   # platform + stdio (default)
uvx quilt-mcp --deployment legacy  # quilt3 + stdio

QUILT_DEPLOYMENT env var can set the same modes:

QUILT_DEPLOYMENT=remote uvx quilt-mcp
QUILT_DEPLOYMENT=local uvx quilt-mcp
QUILT_DEPLOYMENT=legacy uvx quilt-mcp

Remote Docker + ngrok testing hack (for Claude.ai without OAuth):

make run-docker-remote
# Starts Docker container on localhost:8000 with auto-injected real JWT fallback
# Launches MCP Inspector at http://127.0.0.1:6274 for testing
# JWT discovery priority: PLATFORM_TEST_JWT_TOKEN -> quilt3 login session
#
# In another terminal, expose via ngrok:
ngrok http 8000 --domain=$NGROK_DOMAIN

Set NGROK_DOMAIN in .env, and configure Claude MCP URL as https://<your-ngrok-domain>/mcp. Use this only for local development/testing.

Backward compatibility:

  • --backend still works as an explicit backend override.
  • QUILT_MULTIUSER_MODE is still supported as a legacy selector.

See docs/AUTHENTICATION.md for full configuration details and examples.

Docker Deployment

Docker images are published to AWS ECR (account 730278974607) with multiple tags for flexibility:

Available tags per release:

  • Semver tag: 0.17.3 - Human-readable version
  • Git SHA tag: abc12345 - Git commit hash (8 chars) for traceability
  • Latest tag: latest - Points to most recent production release

Example usage:

# Pull by version (recommended for production)
docker pull 730278974607.dkr.ecr.us-east-1.amazonaws.com/quiltdata/mcp:0.17.3

# Pull by git commit SHA (for debugging/rollback)
docker pull 730278974607.dkr.ecr.us-east-1.amazonaws.com/quiltdata/mcp:abc12345

# Pull latest (convenient but not recommended for production)
docker pull 730278974607.dkr.ecr.us-east-1.amazonaws.com/quiltdata/mcp:latest

Trace deployed image back to source:

# Get SHA tag from running container (replace CONTAINER_ID with actual container ID)
docker inspect CONTAINER_ID | grep "quiltdata/mcp:"

# View commit details (replace abc12345 with actual SHA from above)
git log --oneline abc12345

See GitHub releases for available versions and their git commit SHAs.

Environment Variables

Override defaults via environment or MCP config:

  • QUILT_CATALOG_URL - Your Quilt catalog URL (e.g., https://your-catalog.quiltdata.com)
  • QUILT_DEPLOYMENT - Deployment mode (remote, local, legacy)
  • QUILT_MULTIUSER_MODE - Legacy backend selector (true -> platform, false -> quilt3)
  • AWS_PROFILE - AWS credentials profile for S3 access (if not default)
  • QUILT_SERVICE_TIMEOUT - HTTP timeout for service calls in seconds (default: 60)

Architecture

Multiuser Mode (Production)

  • Stateless: No server-side workflows or templates
  • JWT auth: Catalog-issued JWTs only (claims: id, uuid, exp)
  • Read/write operations go through the catalog API
  • Horizontally scalable: any number of containers
  • Single tenant per deployment (no tenant tracking)

Local Dev Mode

  • Stateful: File-based storage in ~/.quilt/
  • IAM auth: Uses AWS credentials or quilt3 session
  • Full feature set, including workflows
  • Single-user development and testing

Core Package Tools

Tool Operation Backend path
package_create Create package revision from S3 objects QuiltOps.create_package_revision()
package_update Update existing package revision QuiltOps.update_package_revision()
package_delete Delete package revisions QuiltOps.delete_package()

Development

# Clone and setup
git clone https://github.com/quiltdata/quilt-mcp-server.git
cd quilt-mcp-server

# Install and run
uv sync
make run

# Test
make test
make test-func
make test-e2e

Testing Infrastructure

The Quilt MCP Server includes a comprehensive testing framework (quilt_mcp.testing) for automated test generation and execution:

  • Automatic Test Generation: Discovers tools, infers arguments, generates YAML configurations
  • Intelligent Classification: Categorizes tools by effect (create/update/remove) and requirements
  • Tool Loop Execution: Multi-step workflows for testing write operations (create → modify → verify → cleanup)
  • Comprehensive Validation: Result validation, coverage analysis, failure pattern detection

Quick Start:

# Generate test configuration
make test-mcp-setup

# Run all MCP tests
make test-mcp

# Run specific test suites
uv run scripts/mcp-test.py --tools          # Test tools only
uv run scripts/mcp-test.py --resources      # Test resources only
uv run scripts/mcp-test.py --loops          # Test tool loops only
uv run scripts/mcp-test.py --idempotent-only # Test read-only operations

# Run with selectors
uv run scripts/mcp-test.py --tools-select "bucket_list,package_list"

Module Structure:

  • src/quilt_mcp/testing/ - Testing framework library (4,644 lines)
  • scripts/mcp-test.py - Test execution script (1,599 lines)
  • scripts/mcp-test-setup.py - Test generation script (302 lines)

See Testing Framework Documentation for detailed API documentation and usage patterns.

Documentation

Troubleshooting

SyntaxWarning from jsonlines

You may see this warning during installation:

SyntaxWarning: invalid escape sequence '\*'

This is harmless. It's from the jsonlines dependency (via quilt3) and doesn't affect functionality. The warning appears on Python 3.12+ due to deprecated escape sequences in the library's docstrings.

Support

License

Apache 2.0 - See LICENSE.txt

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选