Skip to main content
Glama
Fredwong76

GCC Docs MCP Server

by Fredwong76
README.md
# GCC Docs MCP Server

An MCP (Model Context Protocol) server that indexes Singapore Government GCC documentation and exposes search tools for AI assistants. Works with Kiro, Claude Desktop, Cline, and any MCP-compatible client.

## Quick Start

### Prerequisites

- Python 3.11+
- Git
- [gcc-docs-sourceoftruth](https://github.com/Fredwong76/gcc-docs-sourceoftruth) cloned as a sibling folder

### Setup

```bash
# Clone both repos side by side
git clone https://github.com/Fredwong76/gcc-docs-sourceoftruth.git sourceoftruth
git clone https://github.com/Fredwong76/gcc-docs-mcp-server.git gcc-docs-mcp-server

# Install the MCP server
cd gcc-docs-mcp-server
pip install -e .
```

### Configure your MCP client

Add to your MCP settings (e.g. `~/.kiro/settings/mcp.json`):

```json
{
  "mcpServers": {
    "gcc-docs": {
      "command": "python",
      "args": ["-m", "server.cli"],
      "cwd": "/absolute/path/to/gcc-docs-mcp-server",
      "disabled": false,
      "autoApprove": ["search_docs", "get_page", "list_topics"]
    }
  }
}
```

Replace `/absolute/path/to/gcc-docs-mcp-server` with the actual path on your machine.

## What it does

On startup the server:
1. Runs `git pull` on the sourceoftruth folder (gets latest docs from collaborators)
2. Discovers all markdown files in the sourceoftruth folder
3. Builds a full-text search index (Whoosh/BM25F)
4. Exposes 3 MCP tools via stdio transport

## Tools

| Tool | Description | Example |
|------|-------------|---------|
| `search_docs` | Full-text search across all indexed docs | "security groups port 22" |
| `get_page` | Retrieve full content of a specific page | "TechPass/reset-password.md" |
| `list_topics` | Browse documentation hierarchy | parent="TechPass" |

## Configuration

The server finds the sourceoftruth folder using this precedence:

1. `--crawl-store <path>` CLI argument
2. `SOURCEOFTRUTH_PATH` environment variable
3. Default: `../sourceoftruth` (sibling directory)

## Folder Structure

```
parent-folder/
  sourceoftruth/         <-- git clone of gcc-docs-sourceoftruth
    GCC/
    TechPass/
    Cloudscape/
    ...
  gcc-docs-mcp-server/   <-- this repo
    server/              <-- MCP server code
    crawler/             <-- Playwright-based crawler (optional)
    postprocessing/      <-- PDF-to-MD converter
```

## Development

```bash
# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/ --ignore=tests/integration

# Run the server directly
python -m server.cli
```

## Adding Documents

See the [sourceoftruth README](https://github.com/Fredwong76/gcc-docs-sourceoftruth) for how to contribute documentation.