Prompt synchronization MCP server
Project description
Shinkuro - Prompt synchronization MCP server
Loads markdown files from a local folder or git repository and serves them as MCP Prompts.
Useful when you need to share prompts across organizations.
Usage
IMPORTANT: make sure your MCP client supports the MCP Prompts capability. See the feature support matrix.
Local Files
Add to your MCP client configuration:
{
"mcpServers": {
"shinkuro": {
"command": "uvx",
"args": ["shinkuro"],
"env": {
"FOLDER": "/path/to/prompts"
}
}
}
}
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.
Environment Variables
FOLDER: Path to local folder containing markdown files, or subfolder within git repoGIT_URL: Git repository URL (supports GitHub, GitLab, SSH, HTTPS with credentials)CACHE_DIR: Directory to cache cloned repositories (optional, defaults to~/.shinkuro/remote)AUTO_PULL: Whether to pull latest changes if repo exists locally (optional, defaults tofalse)
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.
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.1.tar.gz.
File metadata
- Download URL: shinkuro-0.3.1.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26d658f4e1daba4e303a6f44333fde4741920fa387abbd8e0f0a16659ded776b
|
|
| MD5 |
b546ecccb979f0bb4f10e1de567d28ae
|
|
| BLAKE2b-256 |
c23b3ed23c224dddd0305978279cc12c911590d7599f6bf52a9e3db30578d2a6
|
Provenance
The following attestation bundles were made for shinkuro-0.3.1.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.1.tar.gz -
Subject digest:
26d658f4e1daba4e303a6f44333fde4741920fa387abbd8e0f0a16659ded776b - Sigstore transparency entry: 591721846
- Sigstore integration time:
-
Permalink:
DiscreteTom/shinkuro@8cdb3d274bed1025afe38b4db4cffae00337a93b -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/DiscreteTom
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8cdb3d274bed1025afe38b4db4cffae00337a93b -
Trigger Event:
push
-
Statement type:
File details
Details for the file shinkuro-0.3.1-py3-none-any.whl.
File metadata
- Download URL: shinkuro-0.3.1-py3-none-any.whl
- Upload date:
- Size: 9.1 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 |
5bc08f34364c3cc10dbbd2733f1d60be798f7bf1185a5a2093f9fb7cd9fa3b5f
|
|
| MD5 |
e172cdf91a6768e5b7a2e5c25398710c
|
|
| BLAKE2b-256 |
bb6e10df05921041491d55a11adbe2931af860b6f003d2a3654549b650261aae
|
Provenance
The following attestation bundles were made for shinkuro-0.3.1-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.1-py3-none-any.whl -
Subject digest:
5bc08f34364c3cc10dbbd2733f1d60be798f7bf1185a5a2093f9fb7cd9fa3b5f - Sigstore transparency entry: 591721849
- Sigstore integration time:
-
Permalink:
DiscreteTom/shinkuro@8cdb3d274bed1025afe38b4db4cffae00337a93b -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/DiscreteTom
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8cdb3d274bed1025afe38b4db4cffae00337a93b -
Trigger Event:
push
-
Statement type: