mcp-prompts-rs
mcp-prompts-rs is a library designed to assist in prompt generation for the Rust programming language. It provides developers with tools to create effective prompts for AI and machine learning models, aiming to streamline the development process and achieve better outcomes.
GitHub Stars
3
User Rating
Not Rated
Favorites
0
Views
20
Forks
2
Issues
0
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 LICENSE file for details.
Acknowledgments
- Original mcp-prompts TypeScript project
- Model Context Protocol
- Rust SDK for MCP
0
Followers
0
Repositories
0
Gists
0
Total Contributions
echokit_server is a high-performance server software built in Rust, offering efficient data processing and API management. Designed for developers, it boasts high scalability and adaptability for various applications. It is particularly well-suited for real-time data processing and microservices architecture.