Shinkuro

Universal prompt loader MCP server
  • python

3

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "discretetom-shinkuro": {
      "command": "uvx",
      "args": [
        "shinkuro"
      ],
      "env": {
        "FOLDER": "/path/to/prompts",
        "GIT_URL": "https://github.com/owner/repo.git",
        "AUTO_PULL": "true",
        "CACHE_DIR": "~/.shinkuro/remote",
        "VARIABLE_FORMAT": "brace",
        "SKIP_FRONTMATTER": "false",
        "AUTO_DISCOVER_ARGS": "true"
      }
    }
  }
}

Shinkuro is an MCP server that loads markdown prompt files from a local folder or a Git repository and exposes them as MCP Prompts for use in your MCP-enabled applications. This enables you to centrally manage prompts from diverse sources and share them across teams and projects with consistent formatting and parameter handling.

How to use

You run Shinkuro as an MCP server and connect your MCP client to access prompts sourced from a local directory or a remote Git repository. You can expose prompts with optional frontmatter metadata and support for template variables, making it easy to reuse and customize prompts in your workflows.

How to install

Prerequisites you need before starting: a runtime to execute the MCP server (the mount point shown uses a portable runtime), and access to the folder or repository that contains your prompts.

# Example local install flow (adjust to your environment)
# 1. Ensure you have your runtime available (e.g., uvx from your MCP tooling)
# 2. Prepare your prompts folder
# 3. Run or configure the MCP client to connect to the server

Additional content

Configuration options shown here demonstrate how to run Shinkuro in MCP client configurations. You can either point to a local folder or reference a Git repository to clone prompts into a local cache.

{
  "mcpServers": {
    "shinkuro": {
      "command": "uvx",
      "args": ["shinkuro"],
      "env": {
        "FOLDER": "/path/to/prompts"
      }
    }
  }
}

Alternatively, you can configure Shinkuro to fetch prompts from a remote Git repository. The server will clone the repository into a local cache directory and expose the prompts via MCP.

{
  "mcpServers": {
    "shinkuro": {
      "command": "uvx",
      "args": ["shinkuro"],
      "env": {
        "GIT_URL": "https://github.com/owner/repo.git",
        "FOLDER": "prompts"
      }
    }
  }
}

This configuration will clone the repository into a local cache directory. If you work with private repositories, provide appropriate credentials via the GIT_URL value, such as an SSH URL with keys or an HTTPS URL with a personal access token.

Use with Spec-Kit: move the spec-kit prompts into a dedicated folder and configure Shinkuro to load prompts from that location, with option flags to tailor formatting and argument discovery.

{
  "mcpServers": {
    "shinkuro": {
      "command": "uvx",
      "args": ["shinkuro"],
      "env": {
        "FOLDER": "./.shinkuro/prompts",
        "VARIABLE_FORMAT": "dollar",
        "AUTO_DISCOVER_ARGS": "true",
        "SKIP_FRONTMATTER": "true"
      }
    }
  }
}

Prompt loading

Shinkuro treats every markdown file found under the configured folder (including nested subfolders) as a separate prompt. For example, with a structure like: my-prompts/ ├── think.md └── dev/ ├── code-review.md └── commit.md you will expose three prompts named think, code-review, and commit.

Example prompt files

Simplest prompt: 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 and formats

Variables like {user} and {project} are replaced with actual values when retrieving a prompt. Use double brackets {{var}} to display literal brackets when using brace formatting.

Supported formats include brace (default) and dollar, allowing you to choose how you reference variables in your prompts.

Example repositories

A sample prompt repository is DiscreteTom/prompts.

Changelog

Track changes and updates to prompt loading behavior and configuration over time.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational