📓 GistPad MCP
An MCP server for managing and sharing your personal knowledge, daily notes, and re-useable prompts via GitHub Gists. It's a companion to the GistPad VS Code extension and GistPad.dev (for web/mobile), which allows you to access and edit your gists from any MCP-enabled AI product (e.g. GitHub Copilot, Claude Desktop).
- 🏃 Getting started
- 🛠️ Included tools
- 📁 Included resources
- 💬 Custom prompts
- 💻 CLI reference
🏃 Getting started
ℹ️ The GistPad MCP server is built using Node.js and so before you perform the following steps, you need to ensure that you've got Node.js already installed.
Generate a personal access token that includes only the gist
scope: https://github.com/settings/tokens/new
Add the equivalent of the following to your client's MCP config file (or via an "Add MCP server" GUI/TUI):
{
"mcpServers": {
"gistpad": {
"command": "npx",
"args": ["-y", "gistpad-mcp"],
"env": {
"GITHUB_TOKEN": ""
}
}
}
}
Restart your MCP client (optionally, depending on the tool)
:partying_face: Start having fun with gists + MCP! For example, try things like...
1. **Exploring content**
* `How many gists have I edited this month?`
* `What's the summary of my <foo> gist?`
1. **Creating content**
* `Create a new gist about <foo>`
* `Update my <foo> gist to call out <bar>`
1. **Daily todos**
* `What are my unfinished todos for today?`
* `Add a new todo for <foo>`
1. **Collaboration**
* `Add a comment to the <foo> gist saying <bar>`
* `Give me a share URL for the <foo> gist`
* `View my starred gists`
1. **Gist organization**
* `Archive my gist about <foo>`
* `Add a new <foo> file to the <bar> gist and migrate the <baz> content into it`
🛠️ Included tools
Gist management
list_gists
- List all of your gists (excluding daily notes and archived gists).
get_gist
- Get the contents of a gist by ID.
create_gist
- Create a new gist with a specified description and initial file contents.
delete_gist
- Delete a gist by ID.
update_gist_description
- Update a gist's description by ID.
duplicate_gist
- Create a copy of an existing gist with all its files.
File management
update_gist_file
- Update the contents of a specific file in a gist.
add_gist_file
- Add a new file to an existing gist.
delete_gist_file
- Delete a file from a gist.
rename_gist_file
- Rename an existing file within a gist.
Daily notes
get_todays_note
- Get or create today's daily note.
update_todays_note
- Update the content of today's daily note.
list_daily_notes
- List all of your daily notes.
get_daily_note
- Get the contents of a specific daily note by date.
delete_daily_note
- Delete a specific daily note by date.
Starring
list_starred_gists
- List all your starred gists.
star_gist
- Star a specific gist by ID.
unstar_gist
- Unstar a starered gist by ID.
Archiving
list_archived_gists
- List all of your archived gists.
archive_gist
- Archive one of your gists.
unarchive_gist
- Unarchive an archived gist.
Comments
list_gist_comments
- List all comments for a specified gist.
add_gist_comment
- Add a new comment to a gist.
edit_gist_comment
- Update the content of an existing comment.
delete_gist_comment
- Delete a comment from a gist.
Prompts
add_prompt
- Add a new prompt to your prompts collection.
delete_prompt
- Delete a prompt from your collection.
📁 Included resources
In addition to the above tools, the GistPad MCP server also exposes your gists as resources (using the gist:///
URI scheme), which allows clients to read them without requiring tool execution.
When you add/delete/duplicate a gist, or change a gist's description, then a notification will be provided to MCP clients, indicating that the list of resources have changed. And if your MCP client supports resource subscriptions, then you can subscribe to a specific gist and get notified when it's updated.
Additionally, for MCP clients that support resource templates, GistPad also exposes a resource at gist:///{gistId}/comments
, which allows querying the comments for a gist (without needing to execute the list_gist_comments
tool).
Resource configuration
If you'd like to expose either your archived gists, starred gists, and/or daily notes as resources, then simply update your MCP server config to pass the --archived
, --starred
, and/or --daily
flags to the gistpad-mcp
CLI.
💬 Custom prompts
GistPad allows you to create and manage parameterized/re-usable prompts that are stored as markdown files in a gist. You can manage prompts using the add_prompt
and delete_prompt
tool, by simply asking your MCP client to create/delete a prompt, with the specified contents/arguments you want.
Behind the scenes, prompts are stored as markdown files in a gist called 💬 Prompts
(which is automatically created by the add_prompt
tool). The prompt files include their prompt as the body, and optionally, a description and arguments using front-matter. And if the prompt makes use of arguments, the body of the prompt should include {{argument}}
placeholders, which will be replaced when the MCP client retrieves it.
💻 CLI Reference
The gistpad-mcp
CLI accepts the following optional flags:
--archived
- Include archived gists in the list of MCP resources (Note: Thelist_archived_gists
tool is always available)
--starred
- Include starred gists in the list of MCP resources (Note: Thelist_starred_gists
tool is always available)
--daily
- Include daily notes in the list of MCP resources (Note: Thelist_daily_notes
tool is always available)
--markdown
- Filter the list of gists that are returned, to only those that are composed of Markdown files.