Skip to main content
Glama
WoodSong

SAP Fiori Jetpack Compose UI SDK Documentation MCP Server

by WoodSong
README.md
# SAP Fiori Jetpack Compose UI SDK Documentation MCP Server

This MCP server provides programmatic access to SAP Fiori Jetpack Compose UI SDK documentation files.

## Features

The server provides 5 tools to access documentation:

### 1. `list_api_refs`
Lists all API reference markdown files in `res/fiori-api-reference/`
- **Parameters**: 
  - `filter` (optional): Regex pattern to filter file paths
- **Returns**: JSON array of relative file paths

### 2. `get_api_ref`
Retrieves the content of a specific API reference file
- **Parameters**:
  - `path` (required): Relative path to the API reference file
- **Returns**: Full markdown content as string
- **Security**: Path must be under `res/fiori-api-reference/`

### 3. `list_feature_guides`
Lists all feature guide markdown files in `res/fiori-feature-guides/compose/`
- **Parameters**:
  - `filter` (optional): Regex pattern to filter file paths
- **Returns**: JSON array of relative file paths

### 4. `get_feature_guide`
Retrieves the content of a specific feature guide file
- **Parameters**:
  - `path` (required): Relative path to the feature guide file
- **Returns**: Full markdown content as string
- **Security**: Path must be under `res/fiori-feature-guides/compose/`

### 5. `search_docs`
Searches for patterns across all documentation files
- **Parameters**:
  - `pattern` (required): Regex pattern to search for
  - `scope` (optional): "api", "feature", or "all" (default: "all")
- **Returns**: JSON array of match objects with path, line number, match text, and context

## Installation & Setup

1. **Install Dependencies**:
   ```bash
   cd sap-fiori-mcp-server
   uv add "mcp[cli]"
   ```

2. **Configuration**: The server is already configured in `.vscode/settings.json`:
   ```json
   {
     "mcpServers": {
       "sap-fiori-docs": {
         "command": "python",
         "args": ["sap-fiori-mcp-server/server.py"],
         "env": {},
         "disabled": false,
         "autoApprove": ["list_api_refs", "list_feature_guides"]
       }
     }
   }
   ```

3. **Restart Cline**: After configuration changes, restart Cline to connect to the MCP server.

## Testing

Run the test suite to verify functionality:
```bash
cd sap-fiori-mcp-server
source .venv/bin/activate
python test_server.py
```

## Usage Examples

Once connected, you can use the tools in Cline:

```
# List all API reference files containing "button"
use_mcp_tool: sap-fiori-docs/list_api_refs {"filter": "button"}

# Get content of a specific API reference
use_mcp_tool: sap-fiori-docs/get_api_ref {"path": "res/fiori-api-reference/fiori-compose-ui/com.sap.cloud.mobile.fiori.compose.button.ui/index.md"}

# List all feature guides
use_mcp_tool: sap-fiori-docs/list_feature_guides {}

# Get a feature guide
use_mcp_tool: sap-fiori-docs/get_feature_guide {"path": "res/fiori-feature-guides/compose/button.md"}

# Search for "FioriTopAppBar" across all docs
use_mcp_tool: sap-fiori-docs/search_docs {"pattern": "FioriTopAppBar", "scope": "all"}
```

## Documentation Statistics

- **API References**: 6,350+ markdown files
- **Feature Guides**: 51+ markdown files
- **Total Coverage**: Complete SAP Fiori Jetpack Compose UI SDK documentation

## Security Features

- Path validation prevents directory traversal attacks
- File size limits (200KB) prevent memory issues
- Search result limits (2000 matches) prevent runaway queries
- Comprehensive error handling and logging

## Logging

The server includes comprehensive logging:
- `[Setup]` - Server initialization and configuration
- `[API]` - Tool calls and file operations
- `[Error]` - Error conditions and failures

All logs are written to stderr and can be viewed in the MCP server output.

Maintenance

ActivityInactive
ResponsivenessNo issues