Skip to main content
Glama
matteuccimarco

SLIM MCP Server

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

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

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

3. Restart Claude Desktop

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

Related MCP server: Web Reader

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

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

Development

# 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

Available Tools

2 tools
slim_fetchA

Fetch web content in SLIM format - an AI-optimized representation that Claude understands natively.

Use this tool when you need to read and understand web pages, articles, documentation, or any online content.

SLIM provides:

  • L1: Page identity (title, type, author)

  • L3: Document structure (sections, headings)

  • L5: Key points and insights

  • L7: Full content (if needed)

The content is optimized for AI comprehension with ~90% token reduction compared to raw HTML.

Supported platforms:

  • Any website or article

  • YouTube videos (transcripts + metadata)

  • Reddit posts and threads

  • Bluesky posts

  • Documentation sites

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to fetch. Can include or omit the protocol (https:// will be added if missing).

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full behavioral disclosure burden. It reveals SLIM's output levels (L1, L3, L5, L7), token reduction benefit, and supported platforms, which adds meaningful context beyond the schema. It does not cover error handling or default behavior, but the provided transparency is substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and usage, then uses compact bullet lists for SLIM levels and supported platforms. Each section earns its place, though it is longer than strictly necessary, which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even without an output schema, the description explains what the response contains (SLIM levels) and which content types are supported. It lacks explicit indication of the default output level and does not compare to the sibling tool, but for a single-parameter tool this is adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes the single URL parameter fully, including protocol auto-completion, at 100% coverage. The description does not add parameter-level meaning beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with "Fetch web content in SLIM format" – a specific verb plus resource, clearly stating what the tool does. It does not explicitly differentiate this from the sibling slim_fetch_with_options, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear guidance: "Use this tool when you need to read and understand web pages, articles, documentation, or any online content." However, it does not mention when not to use it or when to prefer slim_fetch_with_options, so it lacks exclusions and alternative comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

slim_fetch_with_optionsA

Fetch web content in SLIM format with advanced options.

Same as slim_fetch but with additional control over what content is included.

Use this when you need:

  • To exclude images or videos for faster/smaller responses

  • Specific SLIM levels only

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to fetch
includeImagesNoInclude image descriptions and metadata (default: true)
includeVideosNoInclude video metadata and transcripts (default: true)

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the benefit of faster/smaller responses when excluding media, but also claims support for 'Specific SLIM levels only' without any corresponding parameter in the schema. This misleading hint, combined with a lack of detail about errors, return format, or limitations, leaves significant behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably compact, front-loading the core purpose in the first sentence and using a bulleted list for use cases. The 'Same as slim_fetch' sentence is useful for orientation, not redundant. It could be tightened, but each sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 3 parameters, all well-documented in the schema, but no annotations or output schema. The description provides sufficient context for simple use but introduces an unsupported 'SLIM levels' feature and omits details about response format, error handling, or rate limits. Given these gaps, the description is minimally viable but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for all parameters, so baseline is 3. The description adds marginal value by explaining the performance benefit of excluding images/videos, but it does not clarify the 'SLIM levels' concept or provide extra meaning for the 'url' parameter. The schema already handles the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Fetch web content in SLIM format with advanced options', using a specific verb and resource. It distinguishes from sibling 'slim_fetch' by noting 'Same as slim_fetch but with additional control over what content is included', making its unique role explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases via a bulleted list: 'To exclude images or videos for faster/smaller responses' and 'Specific SLIM levels only'. It references the sibling tool as the baseline, though it does not explicitly state 'use slim_fetch for basic needs', which would be clearer. Overall, context is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedslim_fetch
    • First observedslim_fetch_with_options

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that lets Claude query arbitrary webpages with token-efficient, structure-aware retrieval, reducing token costs by fetching only relevant sections.
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables Claude and other LLMs to read and parse web content, with smart fallback strategies to bypass access restrictions (e.g., paywalls, Cloudflare) and output Markdown.
    5
    13 npm
    45
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables token-efficient web page fetching by converting HTML to Markdown with tiered access (outline, section, search) to minimize LLM context usage.
    7 npm
    Apache 2.0
  • F
    license
    A
    quality
    C
    maintenance
    Reduces token consumption by 73-87% by cleaning web and API data before it reaches the LLM context window. Supports fetching URLs, searching the web, optimizing JSON, and more.
    6
    1
    -