Skip to main content
Glama
pdawson1983

PKB MCP Server

by pdawson1983

PKB MCP Server

A Python MCP (Model Context Protocol) server that provides a Personal Knowledge Base backed by a GitHub repository. TIL entries, prompts, and patterns are stored as Markdown files and managed through a set of tools exposed via the MCP protocol.

Tools

The server exposes 5 tools:

Tool

Description

add_til

Create a "Today I Learned" entry with a title, content, and tags.

add_prompt

Save a reusable prompt in a category (coding, infrastructure, documentation, general).

add_pattern

Document a reusable pattern in a category (agent, cloud, devops).

search_pkb

Search the entire knowledge base by keyword.

list_entries

Browse entries in a section (til, prompts, patterns, or all).

Related MCP server: Knowledge Base MCP Server

Environment Variables

Variable

Required

Description

GITHUB_TOKEN

Yes

A GitHub personal access token with Contents: Read and write permissions on the target repository.

GITHUB_REPO

No

The GitHub repository in owner/repo format. Defaults to pdawson1983/dawson-pkb.

GitHub Token Setup

  1. Go to GitHub Settings > Developer settings > Fine-grained tokens.

  2. Click Generate new token.

  3. Give the token a descriptive name (e.g. pkb-mcp-server).

  4. Under Repository access, select the repository you want to use as your knowledge base.

  5. Under Permissions > Repository permissions, set Contents to Read and write.

  6. Click Generate token and copy the value.

Docker

Build

docker build -t pkb-mcp-server .

Run

docker run -i --rm \
  -e GITHUB_TOKEN="your-github-token-here" \
  -e GITHUB_REPO="owner/repo" \
  pkb-mcp-server

Claude Desktop Integration

Add the following to your claude_desktop_config.json to use this server with Claude Desktop:

{
  "mcpServers": {
    "pkb": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "GITHUB_TOKEN", "pkb-mcp-server"],
      "env": {
        "GITHUB_TOKEN": "your-github-token-here"
      }
    }
  }
}

The GITHUB_REPO environment variable should be set inside the container (e.g. baked into the image or added to the args with an additional -e GITHUB_REPO=owner/repo flag).

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to manage a personal markdown-based knowledge base with natural language interactions. Supports creating, searching, updating, and organizing notes across categories like people, recipes, meetings, and procedures.
    11
    1
    -
  • A
    license
    B
    quality
    D
    maintenance
    Transforms a GitHub repository into a structured personal brain for AI to manage tasks, notes, and goals through markdown files. It enables direct interaction with a version-controlled knowledge base, allowing for automated organization and efficient retrieval of information.
    15
    7 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables Claude to maintain a team knowledge base stored as markdown in a GitHub repository, with tools for search, edit, linking, and interactive views.
    1 npm
    2
    AGPL 3.0