Marginalia MCP Server
by bmorphism
Verified
# Marginalia MCP Server
An MCP (Model Context Protocol) server that provides access to [Marginalia Search](https://search.marginalia.nu/), a search engine focused on finding non-commercial content and hidden gems of the internet.
## Features
- Search the web using Marginalia Search API
- Configurable search parameters including index and result count
- Rate limiting protection with helpful error messages
- Built using the MCP SDK for seamless integration
## Installation
```bash
npm install
npm run build
```
## Configuration
The server can be configured using environment variables:
- `MARGINALIA_API_KEY`: Your Marginalia Search API key (optional, defaults to public access)
To request a dedicated API key, contact: kontakt@marginalia.nu
## Usage
The server provides the following MCP tool:
### search
Search the web using Marginalia Search with the following parameters:
- `query` (required): Search query string
- `index` (optional): Search index number (corresponds to dropdown in main GUI)
- `count` (optional): Number of results to return (1-100, default: 10)
Example usage through MCP:
```typescript
const result = await mcp.useTool("marginalia", "search", {
query: "interesting non-commercial websites",
count: 5
});
```
## Response Format
The search results are returned in the following format:
```json
{
"query": "your search query",
"license": "license information",
"results": [
{
"url": "result url",
"title": "page title",
"description": "page description"
}
// ... more results
]
}
```
## Error Handling
The server includes robust error handling for:
- Rate limiting (503 responses)
- Invalid requests
- Network errors
- API-specific errors
## Adding Text-to-Speech Support
To enable text-to-speech capabilities using the say MCP server, add the following configuration:
### For Cline (VSCode Extension)
Add to `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`:
```json
{
"mcpServers": {
"say": {
"command": "node",
"args": ["/Users/barton/worlds/servers/src/say-mcp-server/build/index.js"]
}
}
}
```
### For Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"say": {
"command": "node",
"args": ["/Users/barton/worlds/servers/src/say-mcp-server/build/index.js"]
}
}
}
```
The say MCP server provides text-to-speech capabilities with multiple voices and languages. Available tools:
- `speak`: Read text aloud using specified voice and rate
- `list_voices`: List all available text-to-speech voices
## License
MIT License - See LICENSE file for details