Skip to main content
Glama
matteuccimarco

SLIM MCP Server

README.md
# SLIM MCP Server

> Make Claude read the web in AI-native format

MCP (Model Context Protocol) server that allows Claude to fetch web content in **SLIM format** - optimized for AI comprehension with ~90% token reduction.

## Quick Start

### 1. Install

```bash
npm install -g @slim-protocol/mcp-server
# or use npx directly (no install needed)
```

### 2. Configure Claude Desktop

Add to your `claude_desktop_config.json`:

**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "slim": {
      "command": "npx",
      "args": ["@slim-protocol/mcp-server"]
    }
  }
}
```

### 3. Restart Claude Desktop

That's it! Claude can now read web pages.

## Usage

Just ask Claude to read any URL:

```
"Read this article and summarize it: https://example.com/article"

"What are the key points in this documentation: https://docs.example.com"

"Analyze this YouTube video: https://youtube.com/watch?v=..."

"What's the discussion about in this Reddit thread: https://reddit.com/r/..."
```

Claude will automatically use the SLIM tools to fetch and understand the content.

## Tools

### `slim_fetch`

Fetch web content in SLIM format.

**Input:**
- `url` (string, required): The URL to fetch

**Example:**
```
Claude uses slim_fetch with url="https://en.wikipedia.org/wiki/Artificial_intelligence"
```

### `slim_fetch_with_options`

Fetch with advanced options.

**Input:**
- `url` (string, required): The URL to fetch
- `includeImages` (boolean, optional): Include image metadata (default: true)
- `includeVideos` (boolean, optional): Include video metadata (default: true)

## Supported Content

| Platform | Content Type |
|----------|-------------|
| **Websites** | Articles, blogs, documentation |
| **YouTube** | Video metadata + transcripts |
| **Reddit** | Posts, comments, threads |
| **Bluesky** | Posts, profiles |
| **Any URL** | Generic web content |

## What is SLIM?

SLIM (Slim Web Representation) is an AI-native content format with hierarchical levels:

- **L1**: Identity (title, type, author, date)
- **L3**: Structure (sections, headings, navigation)
- **L5**: Key Points (insights, topics, summary)
- **L7**: Full Content (complete text)

This structure allows Claude to understand content efficiently without processing raw HTML, CSS, and JavaScript.

## Configuration

### Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| `SWR_PROXY_URL` | `https://swrproxy.frux.pro` | SLIM proxy URL |
| `SWR_TIMEOUT_MS` | `30000` | Request timeout in ms |
| `DEBUG` | `false` | Enable debug logging |

### Custom Proxy

```json
{
  "mcpServers": {
    "slim": {
      "command": "npx",
      "args": ["@slim-protocol/mcp-server"],
      "env": {
        "SWR_PROXY_URL": "https://my-proxy.example.com",
        "DEBUG": "true"
      }
    }
  }
}
```

## Development

```bash
# Clone
git clone https://github.com/slim-protocol/mcp-server
cd mcp-server

# Install
npm install

# Run in dev mode
npm run dev

# Build
npm run build

# Test
npm test
```

## Troubleshooting

### "Tool not available"

1. Make sure Claude Desktop is restarted after config change
2. Check config file location and JSON syntax
3. Try running manually: `npx @slim-protocol/mcp-server`

### "Request timed out"

Some pages are slow to load. Try:
1. Using a different URL
2. Increasing timeout via `SWR_TIMEOUT_MS`

### "Proxy error"

1. Check internet connection
2. Verify proxy URL is correct
3. Try the URL in browser first

## License

MIT

## Links

- [SLIM Protocol Documentation](https://github.com/slim-protocol/docs)
- [SWR Proxy](https://swrproxy.frux.pro)
- [MCP Specification](https://spec.modelcontextprotocol.io)

TDQS

A3.6/5.0

Scored across 2 tools

Disambiguation2/5

The two tools are nearly identical: slim_fetch_with_options is explicitly described as the same as slim_fetch but with additional options, making the boundary between them unclear. An agent could use either in most cases, and might not know which one to select without reading the fine print.

Naming Consistency4/5

Both tool names share the consistent 'slim_fetch' prefix, with the second adding '_with_options' as a descriptive suffix. This follows a predictable pattern, though the second name is slightly more verbose than a strict verb_noun convention.

Tool Count3/5

With only 2 tools, the server feels thin for a general-purpose fetch tool. The count is borderline but acceptable for a narrow utility that does one thing well, though it could benefit from a separate tool for raw HTML or batch fetching.

Completeness4/5

For its stated purpose of fetching web content in SLIM format, the two tools cover the core functionality: basic fetch and fetch with advanced controls. Minor gaps include lack of explicit support for custom headers or authentication, but these are likely handled through the options parameter.

Maintenance

ActivityInactive
ResponsivenessNo issues