mcp-prompts-rs
If you are the rightful owner of mcp-prompts-rs and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Rust-based server for managing AI prompts using the Model Context Protocol (MCP).
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
- Clone the repository:
git clone https://github.com/your-username/mcp-prompts-rs.git
cd mcp-prompts-rs
- 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:
- Open Claude Desktop
- Go to Settings → Developer → Edit Config
- Add the following to your configuration:
{
"mcp": {
"servers": [
{
"name": "mcp-prompts-rs",
"url": "http://localhost:8080"
}
]
}
}
API Endpoints
Prompts
GET /prompts
: List all promptsGET /prompts/:id
: Get a specific promptPOST /prompts
: Create a new prompt (requires at leastname
andcontent
fields)PUT /prompts/:id
: Update an existing prompt (requires at leastname
andcontent
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 setupsrc/prompt/
: Prompt models and logicsrc/storage/
: Storage backend implementationssrc/api/
: API endpoint handlerssrc/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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the Apache License 2.0 - see the file for details.
Acknowledgments
- Original mcp-prompts TypeScript project
- Model Context Protocol
- Rust SDK for MCP