marginalia mcp server

Local 2025-08-31 22:38:25 0

Provides access to Marginalia Search for discovering non-commercial and independent web content, returning unique sites with URLs, titles, and descriptions.


An MCP (Model Context Protocol) server that provides access to Marginalia Search, 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

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: [email protected]

Usage

The server provides the following MCP tool:

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:

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:

{
  "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:

{
  "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:

{
  "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

[
  {
    "description": "Search the web using Marginalia Search",
    "inputSchema": {
      "properties": {
        "count": {
          "description": "Number of results to return",
          "maximum": 100,
          "minimum": 1,
          "type": "number"
        },
        "index": {
          "description": "Search index (corresponds to dropdown in main GUI)",
          "minimum": 0,
          "type": "number"
        },
        "query": {
          "description": "Search query",
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "name": "search-marginalia"
  }
]