Unsloth AI Documentation

Search and retrieve content from the Unsloth AI documentation.

Unsloth AI Documentation MCP Server

A simple FastMCP implementation to connect to and query Unsloth AI documentation.

Overview

This MCP (Model Context Protocol) server provides access to Unsloth AI documentation through a set of tools that can fetch and search the documentation content. It's built using FastMCP, a Python framework for creating MCP servers.

Features

The server provides the following tools:

  1. search_unsloth_docs: Search the Unsloth documentation for specific topics or keywords
  2. get_unsloth_quickstart: Get the quickstart guide and installation instructions
  3. get_unsloth_models: Get information about supported models in Unsloth
  4. get_unsloth_tutorials: Get information about tutorials and fine-tuning guides
  5. get_unsloth_installation: Get detailed installation instructions

Installation

  1. Clone or download this repository

  2. Install dependencies:

    pip install -r requirements.txt
    

    Or if you prefer using uv:

    uv pip install -r requirements.txt
    

Usage

Running the Server

There are several ways to run the MCP server:

1. Direct Python execution

python unsloth_mcp_server.py

2. Using FastMCP CLI

fastmcp run unsloth_mcp_server.py:mcp

3. Using the test client

python test_client.py

Available Tools

search_unsloth_docs(query: str)

Search the Unsloth documentation for specific information.

Example:

result = await client.call_tool("search_unsloth_docs", {"query": "fine-tuning"})

get_unsloth_quickstart()

Get the quickstart guide and basic setup information.

Example:

result = await client.call_tool("get_unsloth_quickstart", {})

get_unsloth_models()

Get information about models supported by Unsloth.

Example:

result = await client.call_tool("get_unsloth_models", {})

get_unsloth_tutorials()

Get information about available tutorials and guides.

Example:

result = await client.call_tool("get_unsloth_tutorials", {})

get_unsloth_installation()

Get detailed installation instructions.

Example:

result = await client.call_tool("get_unsloth_installation", {})

Connecting to MCP Clients

This server can be used with any MCP-compatible client. The server runs using the standard MCP stdio transport protocol.

Claude Desktop Integration

To use this server with Claude Desktop, add the following to your Claude Desktop configuration:

{
  "mcpServers": {
    "unsloth-docs": {
      "command": "python",
      "args": ["path/to/unsloth_mcp_server.py"],
      "cwd": "path/to/unsloth-mcp"
    }
  }
}

Other MCP Clients

The server can be used with any MCP client by pointing it to the server file:

from fastmcp import Client

client = Client("unsloth_mcp_server.py")

File Structure

unsloth-mcp/
├── README.md                    # This file
├── requirements.txt             # Python dependencies
├── unsloth_mcp_server.py       # Main MCP server implementation
└── test_client.py              # Test client for testing the server

How It Works

  1. Web Scraping: The server fetches content from the Unsloth documentation website (https://docs.unsloth.ai)
  2. Content Processing: Uses BeautifulSoup to parse HTML and extract relevant text content
  3. Search Functionality: Implements simple keyword matching to find relevant sections
  4. MCP Protocol: Exposes the functionality through FastMCP tools that can be called by MCP clients

Dependencies

  • fastmcp: The FastMCP framework for creating MCP servers
  • requests: For making HTTP requests to fetch documentation
  • beautifulsoup4: For parsing HTML content

Limitations

  • The server currently performs simple keyword-based searching rather than semantic search
  • It fetches content in real-time, which may be slower than cached content
  • Limited to the main documentation page content (could be extended to crawl multiple pages)

Future Enhancements

Potential improvements could include:

  1. Caching: Cache documentation content to improve response times
  2. Multi-page Crawling: Fetch content from multiple documentation pages
  3. Semantic Search: Implement more sophisticated search using embeddings
  4. Content Indexing: Pre-index content for faster searches
  5. Rate Limiting: Add proper rate limiting for web requests

Contributing

Feel free to submit issues or pull requests to improve the server functionality.

License

This project is open source. Please check the Unsloth AI documentation website terms of use when using their content.

Related Servers