Skip to main content
Glama
README.md
# Monid MCP Server

MCP server for [Monid](https://monid.ai)'s TinyFish free web search & fetch API. Exposes `web_search` and `web_extract` tools to any MCP-compatible client (Claude Code, Cursor, VS Code, etc.).

**TinyFish is 100% free** — both search and fetch cost $0/call. No subscriptions, no per-call charges. Just a free Monid account for the API key.

## Features

- **web_search** — Search the live web with freshness filtering (60 min - 10 years)
- **web_extract** — Fetch and extract clean Markdown from up to 10 URLs
- **Free** — $0/call, no rate limits
- **Real content** — Returns actual web content, not LLM-generated summaries
- **JavaScript rendering** — Handles SPAs and dynamic content via Chromium

## Pricing

| Provider | Search cost | Extract cost |
|----------|-------------|--------------|
| SerpAPI | $25/1K calls | — |
| Tavily | $8/1K calls | $0.008/credit |
| Exa | $7/1K calls | $1/1K pages |
| Brave | $5/1K calls | — |
| **TinyFish (this server)** | **$0** | **$0** |

## Installation

### 1. Get a Monid API key

1. Create a free account at [app.monid.ai](https://app.monid.ai)
2. Go to [API Keys](https://app.monid.ai/access/api-keys) and generate a key
3. Copy the key (shown only once)

### 2. Install the server

```bash
pip install monid-mcp
```

Or install from source:

```bash
git clone https://github.com/ashafizullah/monid-mcp.git
cd monid-mcp
pip install -e .
```

### 3. Configure

Set environment variables:

```bash
export MONID_API_KEY="monid_live_..."
```

Or create a `.env` file:

```
MONID_API_KEY=monid_live_...
MONID_BASE_URL=https://api.monid.ai
MONID_TIMEOUT=60
MONID_MAX_FETCH_URLS=5
```

## Usage with Claude Code

Add to your `.claude/settings.json`:

```json
{
  "mcpServers": {
    "monid": {
      "command": "monid-mcp",
      "env": {
        "MONID_API_KEY": "monid_live_..."
      }
    }
  }
}
```

Or use the full path:

```json
{
  "mcpServers": {
    "monid": {
      "command": "python",
      "args": ["-m", "monid_mcp.server"],
      "env": {
        "MONID_API_KEY": "monid_live_..."
      }
    }
  }
}
```

Restart Claude Code. The `web_search` and `web_extract` tools will be available automatically.

## Usage with Cursor

Add to `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "monid": {
      "command": "monid-mcp",
      "env": {
        "MONID_API_KEY": "monid_live_..."
      }
    }
  }
}
```

## Usage with VS Code (Copilot)

Add to your VS Code settings:

```json
{
  "github.copilot.chat.mcpServers": {
    "monid": {
      "command": "monid-mcp",
      "env": {
        "MONID_API_KEY": "monid_live_..."
      }
    }
  }
}
```

## Tools

### web_search

Search the live web via TinyFish.

**Parameters:**
- `query` (string, required) — Search query
- `limit` (integer, optional) — Max results (1-20, default: 5)
- `recency_minutes` (integer, optional) — Freshness window in minutes

**Example:**
```
web_search(query="AI agent frameworks 2026", limit=10, recency_minutes=10080)
```

### web_extract

Fetch and extract clean Markdown from URLs.

**Parameters:**
- `urls` (array of strings, required) — URLs to fetch (max 10)

**Example:**
```
web_extract(urls=["https://example.com",https://another.com"])
```

## Configuration

| Variable | Default | Description |
|----------|---------|-------------|
| `MONID_API_KEY` | — | Your Monid API key (required) |
| `MONID_BASE_URL` | `https://api.monid.ai` | Monid API endpoint |
| `MONID_TIMEOUT` | `60` | Request timeout in seconds |
| `MONID_MAX_FETCH_URLS` | `5` | Max URLs per extract call (1-10) |

## Running the server directly

```bash
# With environment variable
export MONID_API_KEY="monid_live_..."
monid-mcp

# Or with .env file
monid-mcp

# Debug mode
monid-mcp --debug
```

## License

MIT © Adam Suchi Hafizullah

TDQS

A4.1/5.0

Scored across 2 tools

Disambiguation5/5

web_search is for discovering relevant URLs, while web_extract is for pulling content from specific URLs. There is no overlap between the two, and they form a clear complementary pipeline.

Naming Consistency5/5

Both tools follow the same web_ prefix plus an action verb pattern: web_search and web_extract. The naming is consistent, predictable, and immediately readable.

Tool Count3/5

At two tools, the server feels thin and sits at the borderline end of the scale. However, each tool serves a distinct and necessary purpose for a focused web search and extraction workflow.

Completeness5/5

The core workflow of searching the web and then extracting readable content from chosen URLs is fully covered. There are no obvious dead ends or missing operations within the apparent scope.

Maintenance

ActivityMaintained
ResponsivenessNo issues