Skip to main content

Universal prompt loader MCP server

Project description

Shinkuro - Universal prompt loader MCP server

PyPI - Version Codecov

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.

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

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.

Environment Variables

  • FOLDER: Path to local folder containing markdown files, or subfolder within git repo
  • GIT_URL: Git repository URL (supports GitHub, GitLab, SSH, HTTPS with credentials)
  • CACHE_DIR: Directory to cache remote repositories (optional, defaults to ~/.shinkuro/remote)
  • AUTO_PULL: Whether to refresh local cache on startup (optional, defaults to false)
  • VARIABLE_FORMAT: Template variable format (optional, defaults to brace)
    • brace: Use {var} syntax (default)
    • dollar: Use $var syntax
  • AUTO_DISCOVER_ARGS: Auto-discover template variables as required arguments (optional, defaults to false)
  • SKIP_FRONTMATTER: Skip frontmatter processing and use raw markdown content (optional, defaults to false)

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:

  • VARIABLE_FORMAT=brace (default): {user}, {project}
  • VARIABLE_FORMAT=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

shinkuro-0.3.3.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shinkuro-0.3.3-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file shinkuro-0.3.3.tar.gz.

File metadata

  • Download URL: shinkuro-0.3.3.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for shinkuro-0.3.3.tar.gz
Algorithm Hash digest
SHA256 6871ba6184b13ef9fc928ffe879074b6bbf8b8b99026ef720193eb2ca074eeb7
MD5 a64ea6af921d75301cd33fff6e4aef1c
BLAKE2b-256 2c64d77bae6c428aec5fd865913d63deee4737d82ebb9d7aa2d0240381ee8e4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for shinkuro-0.3.3.tar.gz:

Publisher: publish.yml on DiscreteTom/shinkuro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shinkuro-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: shinkuro-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for shinkuro-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c81818652389cf629dd31e1d444ce8d0ad02d69c3602f7b5009f5d7774df141b
MD5 5862f51b759d30a079eb36ef716201a7
BLAKE2b-256 97e766f6483520a3738bf9bbff319188fede04439ea86e10226733d4710d11f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for shinkuro-0.3.3-py3-none-any.whl:

Publisher: publish.yml on DiscreteTom/shinkuro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page