Skip to content

quiltdata/quilt-mcp-server

Repository files navigation

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/)
uvx quilt-mcp

# 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_DOMAIN=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_DOMAIN": "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

Your credentials are stored in ~/.quilt/ and automatically used by quilt-mcp whenever a JWT is not present.

To require JWTs in production deployments, set MCP_REQUIRE_JWT=true. In strict mode, bucket and package tools return a clear error instead of falling back to quilt3 credentials.

Environment Variables

Override defaults via environment or MCP config:

  • QUILT_CATALOG_DOMAIN - Your Quilt catalog URL (e.g., your-catalog.quiltdata.com)
  • QUILT_DEFAULT_BUCKET - Default S3 bucket (e.g., s3://your-bucket)
  • AWS_PROFILE - AWS credentials profile for S3 access (if not default)
  • QUILT_SERVICE_TIMEOUT - HTTP timeout for service calls in seconds (default: 60)

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

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 6

Languages