Renesas FSP MCP Server
# π§ Renesas FSP MCP Server
## π Overview
FSP (Firmware Support Package) MCP Server is a management and documentation search interface for **Renesas Flexible Software Package** - the software architecture for Renesas RA MCU family.
This server provides the following capabilities:
- π Search documentation from GitHub repository
- π» Discover code examples and API references
- π¦ Manage dependencies and versions
- π οΈ Support development workflow with eΒ² studio
---
## β¨ Key Features
### 1. **Documentation Search** π
Search FSP documentation from GitHub repository:
- Architecture overview
- Supported software modules
- Driver guides and HAL API references
- RTOS integration documentation
- Middleware stack documentation
### 2. **Code Examples Discovery** π»
Discover code examples for features:
- SPI, I2C, UART peripheral drivers
- ADC/DAC sampling examples
- Secure boot implementation
- FreeRTOS integration
- DMA-based data transfer
### 3. **API Reference Lookup** π
Lookup API documentation:
- Core FSP Library (FspLib)
- Peripheral drivers (SPI, I2C, UART, etc.)
- RTOS integration APIs
- Security and cryptographic functions
### 4. **Dependency Management** π¦
Manage dependencies and versions:
- Version history tracking
- Platform compatibility matrix
- eΒ² studio version requirements
- Minimum hardware specifications
---
## ποΈ System Architecture
```
βββββββββββββββββββββββββββββββββββββββ
β MCP Server β
β ββββββββββββ¬βββββββββββ¬βββββββββββ β
β β Doc β Examples β API β β
β β Search β Discoveryβ Referenceβ β
β ββββββββββββ΄βββββββββββ΄βββββββββββ β
β β β
β βββββββββββββββββββββββββββββββ β
β β GitHub Repository β β
β β - Documentation β β
β β - Code Examples β β
β β - API References β β
β βββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββ
```
---
## π Project Structure
```
fsp-mcp-server/
βββ src/ # Source code
β βββ index.ts # Main MCP server entry point
β βββ handlers/ # Handler modules
β βββ info.ts # FSP architecture information
β βββ version.ts # Version management
β βββ documentation.ts # Documentation search
β βββ examples.ts # Code examples discovery
β βββ api-reference.ts # API reference lookup
β βββ dependencies.ts # Dependency management
βββ schemas/ # JSON schema definitions
βββ docs/ # Generated documentation
βββ examples/ # Usage examples
βββ package.json # NPM configuration
βββ tsconfig.json # TypeScript configuration
βββ README.md # This file
```
---
## π Installation and Usage
### 1. Install dependencies
```bash
cd fsp-mcp-server
npm install
```
### 2. Build and run
```bash
# Build TypeScript code
npm run build
# Run server
npm start
```
Or run directly in development mode:
```bash
npm run dev
```
### 3. Connect to MCP Client
Add the following configuration to your MCP client (e.g., LM Studio, Claude Desktop, etc.):
```json
{
"mcpServers": {
"fsp-mcp-server": {
"command": "node",
"args": ["/path/to/fsp-mcp-server/dist/index.js"]
}
}
}
```
Replace `/path/to/fsp-mcp-server` with the actual absolute path to your project directory.
**For LM Studio:**
1. Open **Settings β Extensions β Model Context Protocol**.
2. Add a new **MCP endpoint** with the command: `node /path/to/fsp-mcp-server/dist/index.js`.
3. Set the **transport** to `stdio`.
4. Save and test the connection via **MCP Explorer**.
---
## π§ Configuration
You can customize the server via `package.json`:
```json
{
"scripts": {
"build": "tsc && echo 'β
TypeScript compilation complete: dist/index.js'",
"build:clean": "npm run build && find dist -name '*.d.ts' -delete && echo 'π§Ή Cleaned .d.ts files'",
"dev": "tsx watch src/index.ts",
"start": "node ./dist/index.js",
"lint": "eslint \"src/**/*.ts\"",
"format": "prettier --write ."
}
}
```
---
## π References
- [FSP GitHub Repository](https://github.com/renesas/fsp)
- [Official FSP Documentation](https://renesas.github.io/fsp)
- [Renesas RA Product Page](https://www.renesas.com/ra/fsp)
- [Example Projects](https://github.com/renesas/ra-fsp-examples)
---
## π License
BSD 3-Clause License - See LICENSE file for details.
---
## π¨βπ» Contributing
To contribute to this project, please:
1. Fork the repository
2. Create a branch with your feature (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull RequestTDQS
Scored across 9 tools
Each tool has a clearly distinct purpose: finding code examples, build info, config info, server help, architecture info, version, API reference, dependency management, and documentation search. No two tools overlap in functionality.
Most tools follow a verb_noun pattern (e.g., find_code_examples, get_api_reference) or use the 'fsp_' prefix (e.g., fsp_config_info). While consistent within groups, mixing these patterns is a minor deviation.
With 9 tools, the server is well-scoped for providing comprehensive FSP information and documentation. Each tool serves a necessary function without redundancy.
The tool set covers the full range of information needs for FSP development: code examples, build/config details, version/architecture, API reference, dependency management, and documentation search. No obvious gaps exist for an informational server.