Universal prompt loader MCP server
Project description
Shinkuro - Universal prompt loader MCP server
Loads markdown files from a local folder or git repository and serves them as MCP Prompts.
Useful for loading prompts from various sources and formats into your MCP-enabled applications, and sharing prompts across organizations.
Usage
IMPORTANT: make sure your MCP client supports the MCP Prompts capability. See the feature support matrix.
Full CLI Usage
uvx shinkuro --help
Usage: shinkuro [OPTIONS]
Shinkuro - Universal prompt loader MCP server
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --folder TEXT Path to local folder containing markdown files, or subfolder within git repo [env var: FOLDER] │
│ --git-url TEXT Git repository URL (supports GitHub, GitLab, SSH, HTTPS with credentials) [env var: GIT_URL] │
│ --cache-dir TEXT Directory to cache remote repositories [env var: CACHE_DIR] [default: ~/.shinkuro/remote] │
│ --auto-pull Whether to refresh local cache on startup [env var: AUTO_PULL] │
│ --variable-format [brace|dollar] Template variable format [env var: VARIABLE_FORMAT] [default: brace] │
│ --auto-discover-args Auto-discover template variables as required arguments [env var: AUTO_DISCOVER_ARGS] │
│ --skip-frontmatter Skip frontmatter processing and use raw markdown content [env var: SKIP_FRONTMATTER] │
│ --version Show version and exit │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Local Files
Add to your MCP client configuration:
{
"mcpServers": {
"shinkuro": {
"command": "uvx",
"args": ["shinkuro"],
"env": {
"FOLDER": "/path/to/prompts"
}
}
}
}
Remote Git Repository
Add to your MCP client configuration:
{
"mcpServers": {
"shinkuro": {
"command": "uvx",
"args": ["shinkuro"],
"env": {
"GIT_URL": "https://github.com/owner/repo.git",
"FOLDER": "prompts" // optional, subfolder within git repo
}
}
}
}
This will clone the repository into a local cache dir. Make sure you have correct permission.
Private repositories are supported, e.g.
"GIT_URL": "git@github.com:DiscreteTom/shinkuro.git"(with SSH keys),"GIT_URL": "https://<username>:<PAT>@github.com/owner/repo.git"(with personal access token)
Use with Spec-Kit
Expand
First, move spec-kit prompts into ./.shinkuro/prompts folder.
Then add to your MCP client configuration:
{
"mcpServers": {
"shinkuro": {
"command": "uvx",
"args": ["shinkuro"],
"env": {
"FOLDER": "./.shinkuro/prompts",
"VARIABLE_FORMAT": "dollar",
"AUTO_DISCOVER_ARGS": "true",
"SKIP_FRONTMATTER": "true"
}
}
}
}
This will expose spec-kit instructions as MCP prompts.
Prompt Loading
Each markdown file in the specified folder (including nested folders) is loaded as a prompt.
Example folder structure:
my-prompts/
├── think.md
└── dev/
├── code-review.md
└── commit.md
The example above will be loaded to 3 prompts: think, code-review and commit.
Example Prompt Files
Simplest
Commit to git using conventional commit.
Prompt with Metadata
---
name: "code-review" # optional, defaults to filename
title: "Code Review Assistant" # optional, defaults to filename
description: "" # optional, defaults to file path
---
# Code Review
Please review this code for best practices and potential issues.
Prompt with Arguments
---
name: "greeting"
description: "Generate a personalized greeting message"
arguments:
- name: "user"
description: "Name of the user"
# no default = required parameter
- name: "project"
description: "Project name"
default: "MyApp"
---
Say: Hello {user}! Welcome to {project}. Hope you enjoy your stay!
Variables like {user} and {project} will be replaced with actual values when the prompt is retrieved.
Use {{var}} (double brackets) to escape and display literal brackets when using brace formatter.
Different Variable Formats:
brace(default):{user},{project}dollar:$user,$project
Example Prompt Repositories
CHANGELOG
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shinkuro-0.3.5.tar.gz.
File metadata
- Download URL: shinkuro-0.3.5.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da4832fe3ded0bc56140a5b50b5fece89ba008f050afbbbbc63b5f0ec735e4fc
|
|
| MD5 |
6feee9fc266540b92750bc09b3906fde
|
|
| BLAKE2b-256 |
a752bbe2832935e557247abd76235416f2312145d7e5d6cec8ef1fa85fddfdc5
|
Provenance
The following attestation bundles were made for shinkuro-0.3.5.tar.gz:
Publisher:
publish.yml on DiscreteTom/shinkuro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shinkuro-0.3.5.tar.gz -
Subject digest:
da4832fe3ded0bc56140a5b50b5fece89ba008f050afbbbbc63b5f0ec735e4fc - Sigstore transparency entry: 669097373
- Sigstore integration time:
-
Permalink:
DiscreteTom/shinkuro@62da509467c85285aff9bdf7d65eca52df6ed4bd -
Branch / Tag:
refs/tags/v0.3.5 - Owner: https://github.com/DiscreteTom
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@62da509467c85285aff9bdf7d65eca52df6ed4bd -
Trigger Event:
push
-
Statement type:
File details
Details for the file shinkuro-0.3.5-py3-none-any.whl.
File metadata
- Download URL: shinkuro-0.3.5-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7208c9d3865560ff1d15456a85ce25de1aa2f1ae71a0efb68be44bb8b74f2dea
|
|
| MD5 |
c11be391cb4a0dc34112137844779c94
|
|
| BLAKE2b-256 |
24d9b3a66826d5b0b49c984065c6396b918c12893a5ff28617aaca8cf632165d
|
Provenance
The following attestation bundles were made for shinkuro-0.3.5-py3-none-any.whl:
Publisher:
publish.yml on DiscreteTom/shinkuro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shinkuro-0.3.5-py3-none-any.whl -
Subject digest:
7208c9d3865560ff1d15456a85ce25de1aa2f1ae71a0efb68be44bb8b74f2dea - Sigstore transparency entry: 669097377
- Sigstore integration time:
-
Permalink:
DiscreteTom/shinkuro@62da509467c85285aff9bdf7d65eca52df6ed4bd -
Branch / Tag:
refs/tags/v0.3.5 - Owner: https://github.com/DiscreteTom
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@62da509467c85285aff9bdf7d65eca52df6ed4bd -
Trigger Event:
push
-
Statement type: