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:
- search_unsloth_docs: Search the Unsloth documentation for specific topics or keywords
- get_unsloth_quickstart: Get the quickstart guide and installation instructions
- get_unsloth_models: Get information about supported models in Unsloth
- get_unsloth_tutorials: Get information about tutorials and fine-tuning guides
- get_unsloth_installation: Get detailed installation instructions
Installation
Clone or download this repository
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
- Web Scraping: The server fetches content from the Unsloth documentation website (https://docs.unsloth.ai)
- Content Processing: Uses BeautifulSoup to parse HTML and extract relevant text content
- Search Functionality: Implements simple keyword matching to find relevant sections
- 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:
- Caching: Cache documentation content to improve response times
- Multi-page Crawling: Fetch content from multiple documentation pages
- Semantic Search: Implement more sophisticated search using embeddings
- Content Indexing: Pre-index content for faster searches
- 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.