Skip to main content
Glama
knowledge-base

knowledge-base

by atmOS-10x

Knowledge base plugin

A team knowledge base that lives in this repository as markdown under content/, packaged as an Agent Plugins 1.0 plugin for atmOS. Agents search it, cite it by path and line, and publish small amendments back to it through git.

The plugin carries:

  • mcp.json: one stdio MCP server, knowledge-base, run with node ./server/index.js from a checkout of this repository. Plain ESM JavaScript, no dependencies, Node 20 or newer, nothing to install.

  • skills/knowledge-base: when and how to search and read, and how to cite.

  • skills/amend-knowledge: how to make small, well-titled amendments.

  • content/: the knowledge base itself. The pages shipped here describe a fictional company, Tidewater Labs; replace them with your own.

Use it in atmOS

  • New knowledge base creates a copy of this template repository for you and installs it.

  • Or install it directly: Add plugin, then paste the repository URL (this one, or your own copy).

atmOS runs the MCP server from a checkout of the repository and keeps self-authored plugins up to date from their tracked branch.

Related MCP server: 50 First Tapes MCP Server

Tools

Tool

Arguments

Result

kb_search

query, limit (default 10, max 50)

Pages ranked by full-text relevance with title, score and up to three path:line snippets

kb_read

path, startLine, endLine (inclusive, 1-based)

The page or line range, with the total line count

kb_list

folder (optional)

Every page under content/ or the folder, with its title

kb_amend

path, content or edit: { find, replace }, message

Writes the page, commits it and pushes it; reports the commit and whether it was published

Paths are relative to content/ (policies/expenses.md) or start with it (content/policies/expenses.md). Results always use the content/... form. Every tool returns readable text plus the same data as structuredContent.

kb_amend only writes .md files inside content/. It refuses absolute paths, .., hidden files and symlinks that lead outside content/, refuses empty content, and an edit.find must match exactly once. It never deletes pages.

How amendments publish

Each kb_amend call:

  1. Writes the page.

  2. Runs git add and git commit for that page only, with message as the commit title.

  3. Pushes HEAD to the branch the checkout tracks. If the remote moved on, it rebases onto it and pushes again. It never force-pushes.

Git runs with GIT_TERMINAL_PROMPT=0 and SSH in batch mode, so it never waits for a password. When the commit cannot be published the result says why, and the commit stays in the checkout:

push.status

Meaning

pushed

Published to the tracked branch

not_configured

The checkout has no git remote

no_upstream

The current branch does not track a remote branch

detached

The checkout is on a detached HEAD

rejected

The remote refused the push or the rebase conflicted

failed

Anything else, usually missing credentials; git's message is included

The machine running the server needs git credentials that can push to the repository. Without a configured user.name and user.email it commits as Knowledge base <knowledge-base@localhost>; set KB_GIT_AUTHOR_NAME and KB_GIT_AUTHOR_EMAIL to change that.

Local development

node server/index.js          # serve this checkout over stdio
KB_ROOT=/path/to/other/checkout node server/index.js
npm test                      # node:test, no install needed

A quick session by hand:

printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"cli","version":"0"}}}' \
  '{"jsonrpc":"2.0","method":"notifications/initialized"}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"kb_search","arguments":{"query":"refund"}}}' \
  | node server/index.js

The server speaks MCP protocol versions 2025-06-18, 2025-11-25 and 2026-07-28, and echoes the client's version when it is one of them.

scripts/render-assets.py regenerates the icon, logo and screenshot in assets/ (Python 3 with Pillow, macOS system fonts).

License

MIT

Available Tools

4 tools
kb_amendAmend a pageA

Create or change one markdown page under content/, then commit it and push it to the tracked branch so it is published. Pass either content (the whole new page) or edit ({ find, replace }, where find must match exactly once). The message becomes the commit title. Pages are never deleted.

Inputs: path (required), message (required), edit, content.

kb_listList pagesA
Read-only

List knowledge base pages with their titles, optionally only those under one folder.

Inputs: folder.

kb_readRead a pageA
Read-only

Read a knowledge base page, whole or a line range. Paths are relative to content/ or start with content/.

Inputs: path (required), endLine, startLine.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool covers a distinct operation: search, amend (create/edit), read, and list. No two tools could be confused, with search returning matches and read retrieving page content.

    Naming Consistency5/5

    All four tools share the kb_ prefix and use a consistent verb_noun pattern: kb_search, kb_amend, kb_read, kb_list. The naming is uniform and predictable.

    Tool Count5/5

    Four tools is well-scoped for a knowledge base server, covering the core needs without unnecessary bloat. Each tool earns its place.

    Completeness5/5

    The surface provides list, read, search, and amend (covering create and edit). Deletion is explicitly not supported, which is an intentional policy rather than a gap. The domain is fully covered.

    Maintenance

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to fetch, search, and retrieve markdown content from remote Git repositories. Supports both public and private repositories with authentication, allowing AI assistants to access documentation and notes stored in Git.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables agents to read, search, and propose durable knowledge stored as flat files in a GitHub repository, with every write opened as a pull request and domain owners approving changes in a web UI without touching git.
      Apache 2.0