Combined MCP Server

Combined MCP Server

Integrates Redshift database query capabilities with vector-based knowledgebase tools for semantic search and RAG applications. It enables users to execute SQL queries, explore database schemas, and perform hybrid semantic searches on markdown files stored in S3.

Category
Visit Server

README

Combined MCP Server

A production-grade MCP (Model Context Protocol) server combining Redshift query capabilities and Knowledgebase vector store features.

Features

Redshift Tools

  • run_query - Execute SQL with IAM authentication via get_cluster_credentials
  • list_schemas - List database schemas
  • list_tables - List tables in a schema
  • describe_table - Get table structure

Large results (>100 rows) are automatically stored in S3 with 20 sample rows returned.

Knowledgebase Tools

  • build_vectorstore - Build vector store from S3 markdown files
  • query_vectorstore - Hybrid search (semantic + keyword) with RRF reranking
  • get_vectorstore_status - Check build status and cache stats

Quick Start

Local Development

  1. Install uv (if not already installed):

    curl -LsSf https://astral.sh/uv/install.sh | sh
    # Or on Windows: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
    
  2. Start infrastructure:

    docker-compose up -d postgres localstack
    
  3. Install dependencies:

    uv pip install -e ".[dev]"
    
  4. Configure environment:

    cp .env.example .env.local
    # Edit .env.local with your settings
    
  5. Run the server:

    # With MCP Inspector
    mcp dev src/combined_mcp_server/main.py
    
    # Or directly
    python -m combined_mcp_server.main
    

ECS Deployment

# Build container
docker build -t combined-mcp-server .

# Run with health checks
docker run -p 8080:8080 --env-file .env combined-mcp-server

Health endpoints:

  • GET /health - Liveness probe
  • GET /ready - Readiness probe
  • GET /status - Detailed status

Configuration

See .env.example for all configuration options. Key settings:

Variable Description
REDSHIFT_CLUSTER_ID Redshift cluster identifier
POSTGRES_SECRET_NAME Secrets Manager secret for pgvector DB
KNOWLEDGEBASE_S3_BUCKET S3 bucket with markdown files
BEDROCK_EMBEDDING_MODEL Titan embedding model ID

Architecture

┌─────────────────────────────────────────────────────┐
│                  Combined MCP Server                 │
├─────────────────────┬───────────────────────────────┤
│   Redshift Tools    │     Knowledgebase Tools       │
│  ─────────────────  │  ───────────────────────────  │
│  • run_query        │  • build_vectorstore          │
│  • list_schemas     │  • query_vectorstore          │
│  • list_tables      │  • get_vectorstore_status     │
│  • describe_table   │                               │
├─────────────────────┴───────────────────────────────┤
│                    Core Services                     │
│  AWS (Secrets Manager, S3, Bedrock, Redshift)       │
│  PostgreSQL + pgvector                              │
└─────────────────────────────────────────────────────┘

Testing

# Unit tests
pytest tests/ -v

# With coverage
pytest tests/ -v --cov=combined_mcp_server

# Integration tests (requires Docker)
docker-compose up -d
pytest tests/ -v -m integration

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured