Skip to main content
Glama
JuyoungKimmy-Kim

MCP Hub Database Server

mcp-demo

MCP server for querying MCP Hub database

Installation

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

Configuration

Copy .env.example to .env and configure:

MCP_HUB_URL=http://localhost:8000/api/v1
VERIFY_SSL=true

Run Server

# HTTP mode (default)
python -m src.main

# stdio mode
TRANSPORT_MODE=stdio python -m src.main

Server runs on http://localhost:8080

Docker

# Build image
docker build -t mcp-hub-mcp .

# Run container (local)
docker run -d \
  -p 8080:8080 \
  -e MCP_HUB_URL=http://localhost:8000/api/v1 \
  -e VERIFY_SSL=true \
  --name mcp-hub-mcp \
  mcp-hub-mcp

# Run container (production)
docker run -d \
  -p 8080:8080 \
  -e MCP_HUB_URL=https://your-domain:port/api \
  -e VERIFY_SSL=false \
  --name mcp-hub-mcp \
  mcp-hub-mcp

# View logs
docker logs -f mcp-hub-mcp

# Stop and remove container
docker stop mcp-hub-mcp && docker rm mcp-hub-mcp

Tools

  • search_mcp_servers - Search for MCP servers by keyword

  • list_mcp_servers - List MCP servers with pagination and sorting

  • get_mcp_server_details - Get detailed information about a specific server

  • get_top_servers - Get top servers by popularity or recency

  • get_top_contributors - Get top contributors

RooCode Setup

HTTP Mode

Add to RooCode MCP settings (cline_mcp_settings.json):

{
  "mcpServers": {
    "mcp-hub-mcp": {
      "transport": {
        "type": "sse",
        "url": "http://localhost:8080/sse"
      }
    }
  }
}

stdio Mode

{
  "mcpServers": {
    "mcp-hub-mcp": {
      "command": "python",
      "args": ["-m", "src.main"],
      "cwd": "/path/to/mcp-demo",
      "env": {
        "TRANSPORT_MODE": "stdio",
        "MCP_HUB_URL": "http://localhost:8000/api/v1"
      }
    }
  }
}

Testing

Unit Tests (Mock-based, no backend required)

Fast tests using mocks. Can run without backend server.

# Run all unit tests
pytest tests/unit/ -v

# Run specific unit test file
pytest tests/unit/test_client.py -v
pytest tests/unit/test_handlers.py -v
pytest tests/unit/test_schemas.py -v

Integration Tests (Requires running backend)

Tests that call real API endpoints. Requires backend at http://localhost:8000.

# Run all integration tests
pytest tests/integration/ -v

# Run specific integration test
pytest tests/integration/test_client.py -v

Run All Tests

# Run all tests (unit + integration)
pytest tests/ -v

# Run with coverage
pytest tests/ --cov=src --cov-report=html

Quick Manual Test

# Test all 5 tools manually
python test_all_tools.py
-
security - not tested
F
license - not found
-
quality - not tested

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JuyoungKimmy-Kim/mcp-demo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server