mcpField
M
mcp-prompts-rs

mcp-prompts-rs

Local
github.com/sparesparrowAI & Agents3Updated 3w ago

About mcp-prompts-rs

mcp-prompts-rs is a Rust server for creating, organizing, and retrieving AI prompts, with template variables and filesystem or PostgreSQL storage. It is for teams managing reusable prompts and project templates.

Key features

  1. 01Create, update, and delete prompts
  2. 02Categorize and retrieve prompts
  3. 03Support template variables
  4. 04Store prompts in filesystem or PostgreSQL
  5. 05Automate project creation from templates

Use cases

  1. 01Managing a categorized prompt collection
  2. 02Customizing prompts with runtime variables
  3. 03Storing prompts in PostgreSQL or files
  4. 04Creating software projects from templates

MCP support

The server implements MCP for AI assistant integration and exposes prompt management capabilities. It also provides REST endpoints and an SSE endpoint for updates.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"prompts-rs": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
Run commanddocker run -i --rm build

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocibuild

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

mcp-prompts-rs

A Rust-based server for managing AI prompts using the Model Context Protocol (MCP).

Overview

mcp-prompts-rs is a Rust implementation of a prompt management server that adheres to the Model Context Protocol (MCP), an open standard for connecting AI applications to data sources and tools. This project is a Rust rewrite of the original mcp-prompts TypeScript implementation.

The server provides functionality for storing, retrieving, and managing AI prompts with support for template variables, categorization, and multiple storage backends.

Features

  • Prompt Management: Create, retrieve, update, and delete prompts with categorization
  • Template Support: Create prompts with variables for runtime customization
  • Storage Backends: Support for file system and PostgreSQL storage options
  • API: RESTful endpoints with Server-Sent Events (SSE) for real-time updates
  • MCP Integration: Implements the Model Context Protocol for seamless integration with AI assistants like Claude
  • Project Orchestration: Tools for automating software project creation using templates
  • Deployment: Docker support and health check endpoints

Installation

Prerequisites
  • Rust 1.70 or higher
  • Cargo (Rust's package manager)
  • Optional: PostgreSQL for database storage
Setup
  1. Clone the repository:
git clone https://github.com/sparesparrow/mcp-prompts-rs.git
cd mcp-prompts-rs
  1. Build the project:
cargo build

Usage

Running the Server

Start the server with default settings:

cargo run

With custom configuration:

cargo run -- --port 3000 --storage filesystem
CLI Options
  • --port <PORT>: Set the server port (default: 8080)
  • --storage <TYPE>: Choose storage backend (filesystem, postgres)
  • --db-url <URL>: PostgreSQL connection string (when using postgres storage)
  • --prompt-dir <DIR>: Directory for prompt storage (when using filesystem storage)

Integration with Claude

To integrate with Claude Desktop:

  1. Open Claude Desktop
  2. Go to Settings → Developer → Edit Config
  3. Add the following to your configuration:
{
  "mcp": {
    "servers": [
      {
        "name": "mcp-prompts-rs",
        "url": "http://localhost:8080"
      }
    ]
  }
}

API Endpoints

Prompts
  • GET /prompts: List all prompts
  • GET /prompts/:id: Get a specific prompt
  • POST /prompts: Create a new prompt (requires at least name and content fields)
  • PUT /prompts/:id: Update an existing prompt (requires at least name and content fields)
  • DELETE /prompts/:id: Delete a prompt
Example Usage (with curl)
  • List all prompts:
    curl -X GET http://localhost:3000/prompts
    
  • Create a prompt:
    curl -X POST http://localhost:3000/prompts \
      -H "Content-Type: application/json" \
      -d '{"name": "test-prompt", "title": "Test Prompt", "content": "This is a test prompt."}'
    
  • Get a prompt by ID:
    curl -X GET http://localhost:3000/prompts/<id>
    
  • Update a prompt:
    curl -X PUT http://localhost:3000/prompts/<id> \
      -H "Content-Type: application/json" \
      -d '{"name": "test-prompt", "title": "Updated Test Prompt", "content": "This is an updated test prompt."}'
    
  • Delete a prompt:
    curl -X DELETE http://localhost:3000/prompts/<id>
    
SSE
  • GET /events: Server-Sent Events endpoint for real-time updates

Development

Project Structure
  • src/main.rs: Entry point and server setup
  • src/prompt/: Prompt models and logic
  • src/storage/: Storage backend implementations
  • src/api/: API endpoint handlers
  • src/template/: Template processing utilities
Building from Source
cargo build
Running Tests
cargo test

Docker Support

Build and run with Docker:

docker build -t mcp-prompts-rs .
docker run -p 8080:8080 mcp-prompts-rs

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Acknowledgments

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.