---
title: "git-knowledge-source"
description: "A replayable, committed-file Git source exposed through standard MCP tools."
canonical: https://agentpluginsdirectory.com/plugins/git-knowledge-source
last-updated: 2026-09-13
---

# git-knowledge-source
A replayable, committed-file Git source exposed through standard MCP tools.
- Slug: git-knowledge-source
- Publisher: mafifi
- Repository: https://github.com/mafifi/drawloom
- Manifest: packages/plugins/git-knowledge-source/plugin.json
- Version: 0.0.0
- License: Apache-2.0
- Category (editorial): other
- Skills: 0
- MCP servers: 1 (git-knowledge-source)
- Stars: 0
- Repository created: 2026-09-02
- Repository last pushed: 2026-09-12
- Publisher type: User
- Listing: https://agentpluginsdirectory.com/plugins/git-knowledge-source
- Schema: https://agent-plugins.org/schemas/1.0.0/plugin.schema.json

## What git-knowledge-source does, in the publisher's words

This standard Agent Plugin exposes a configured local repository through two standard MCP tools: git.changes and git.acknowledge.

The launcher, not MCP tool arguments, supplies GIT_SOURCE_REPOSITORY, GIT_SOURCE_PATHS (a JSON array of allowed committed paths), and PLUGIN_DATA. No tool call can replace the repository or expand the path list. The source does not read working-tree content, execute hooks/scripts, use the network, or follow configured paths outside the committed tree.

Each update has id, revision, previous, kind source, state, and text. Withdrawn means a selected file was removed from the committed tree. git.changes returns the same pending page until its token is acknowledged, even when the repository advances. Acknowledgements are idempotent; unknown, stale, and cross-configuration tokens fail. Non-fast-forward history produces reconciliation_required and never silently resets the checkpoint.

From the project README, punctuation lightly normalized. Full text: https://raw.githubusercontent.com/mafifi/drawloom/HEAD/packages/plugins/git-knowledge-source/README.md

## MCP servers

- git-knowledge-source: transport: stdio; command: node ${PLUGIN_ROOT}/dist/server.mjs

Read from the plugin's own mcp.json. Environment variable names only, never values.
