Fetches real-time data from official Rust and Slint repositories on GitHub, including package information, components, and release announcements.
Provides tools for searching Rust packages and crates, retrieving latest ecosystem news, and accessing information about popular Rust libraries.
Enables searching for Slint UI components and examples, and provides access to recent Slint project updates and news.
MCP Rust/Slint Development Server
π FREE & OPEN SOURCE MCP SERVER FOR RUST & SLINT DEVELOPMENT
This is completely free software - use it, modify it, and contribute back to the community!
A Model Context Protocol (MCP) server that provides current information for Rust and Slint development, including packages, components, news, and resources from GitHub and other reputable sources.
Overview
This MCP server serves up-to-date information for Rust and Slint development by:
Fetching Data from GitHub: Real-time data from official Rust and Slint repositories
Maintaining Local Cache: SQLite database with automatic freshness checking
Providing MCP Tools: Six specialized tools for querying development information
Auto-Refresh: Automatically updates data older than 24 hours on startup
Features
π Search Capabilities
Rust Packages: Search popular Rust crates and libraries
Slint Components: Find Slint UI components and examples
Development News: Latest releases and announcements from both ecosystems
π Data Sources
GitHub Repositories: Official Rust and Slint repositories
Package Registries: Current package information and statistics
Release Feeds: Real-time release announcements and updates
Community Data: Popular packages and trending components
π οΈ MCP Tools
search_rust_packages- Search and discover Rust cratessearch_slint_components- Find Slint UI componentsget_rust_news- Latest Rust ecosystem newsget_slint_news- Recent Slint project updatesrefresh_data- Manual data refresh capabilitiesget_data_status- Cache status and data freshness monitoring
Installation
Prerequisites
Node.js 18+
npm or yarn
Git
Setup
Clone the repository:
git clone https://github.com/RKTakami/mcp-rust-slint-server.git cd mcp-rust-slint-serverInstall dependencies:
npm installCompile TypeScript:
npm run buildTest the server:
npm test
Configuration
For Roo Code
Add to your MCP settings:
For VSCode
Add to your VSCode MCP settings:
Usage
MCP Tools
Search Rust Packages
Search Slint Components
Get Latest News
Data Management
Database Structure
The server uses SQLite with the following tables:
rust_packages: Popular Rust crates and packages
slint_components: Slint UI components and examples
rust_news: Latest Rust releases and announcements
slint_news: Recent Slint project updates
data_cached_at: Cache timestamp tracking for data freshness
Architecture
Data Flow
Startup: Server checks data freshness on initialization
Cache Validation: Compares cache timestamps against 24-hour threshold
GitHub API: Fetches fresh data from official repositories
Database Update: Stores new data in SQLite database
Tool Execution: Serves cached data through MCP tools
Technology Stack
Runtime: Node.js with TypeScript
MCP SDK:
@modelcontextprotocol/sdkDatabase: SQLite with
better-sqlite3HTTP Client: Axios for GitHub API calls
Data Sources: GitHub REST API v3
Development
Project Structure
Scripts
npm run build- Compile TypeScript to JavaScriptnpm test- Run test suitenpm start- Start the MCP server
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
API Endpoints
The server provides the following MCP tools:
search_rust_packages
Description: Search for Rust packages and crates
Parameters:
query(string): Search querylimit(number, optional): Maximum results (1-100, default: 10)
search_slint_components
Description: Search for Slint UI components
Parameters:
query(string): Search querycategory(string, optional): Filter by categorylimit(number, optional): Maximum results (1-100, default: 10)
get_rust_news
Description: Get latest Rust ecosystem news
Parameters:
limit(number, optional): Maximum results (1-50, default: 10)
get_slint_news
Description: Get latest Slint project updates
Parameters:
limit(number, optional): Maximum results (1-50, default: 10)
refresh_data
Description: Manually refresh data from GitHub
Parameters:
type(enum): Data type to refresh ('rust_packages', 'slint_components', 'rust_news', 'slint_news', 'all')
get_data_status
Description: Get cache status and data freshness information
Parameters: None
π License & Open Source
MIT License - Completely Free & Open Source
This project is 100% free and open source under the MIT License. You have the freedom to:
β Use it commercially - No restrictions
β Modify and customize - Make it your own
β Distribute freely - Share with others
β Contribute back - Help improve the project
β Use in any project - No attribution required
What This Means
No Cost: Completely free to use
No Restrictions: Use in personal, commercial, or open source projects
Community Driven: Built by the community, for the community
Contributions Welcome: Help make it better for everyone
License Details
Full license text: See LICENSE file for complete details.
Support
For issues, questions, or contributions, please visit the GitHub repository.
Changelog
v0.1.0
Initial release
Six MCP tools for Rust and Slint development
GitHub API integration
SQLite database with auto-refresh
Roo Code and VSCode integration