UAB Research Computing Documentation MCP Server
An MCP (Model Context Protocol) server that provides AI assistants with access to the University of Alabama at Birmingham's Research Computing documentation.
Overview
This MCP server allows AI applications like Claude to search and retrieve information from UAB's Research Computing documentation (https://docs.rc.uab.edu), including:
Cheaha HPC cluster documentation - High-performance computing resources and usage guides
Getting support - Office hours, contact information, and support channels
Software and tools - Available applications, modules, and installation guides
Storage and data management - Data storage systems, quotas, and best practices
Job scheduling (SLURM) - Submitting and managing computational jobs
Contributing - How to improve the documentation
Features
The server provides the following tools:
1. search_documentation
Search the UAB Research Computing documentation for relevant content.
Parameters:
query(string): Search term or phrasemax_results(integer, optional): Maximum results to return (default: 5, max: 10)
Example:
2. get_documentation_page
Retrieve the full content of a specific documentation page.
Parameters:
page_path(string): Path to the page (e.g., "getting-started/intro") or full URL
Example:
3. get_support_info
Get comprehensive support information including office hours, contact methods, and support channels.
Example:
4. list_documentation_sections
List all main sections and categories in the documentation with descriptions.
Example:
5. get_cheaha_quick_start
Get quick start information for accessing and using the Cheaha HPC cluster.
Example:
Installation
Prerequisites
Python 3.10 or higher
uvpackage manager (recommended)
Setup
Install uv (if not already installed):
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | shWindows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Restart your terminal after installation.
Clone or download this repository:
cd /path/to/uab-rc-docs-mcp-serverCreate virtual environment and install dependencies:
macOS/Linux:
uv venv source .venv/bin/activate uv pip install -e .Windows:
uv venv .venv\Scripts\activate uv pip install -e .
Usage
Testing the Server Directly
Run the server directly to test it:
The server will start and listen for MCP protocol messages on standard input/output.
Using with Claude Desktop
Install Claude Desktop from https://claude.ai/download
Configure Claude Desktop to use this MCP server:
macOS/Linux: Edit
~/Library/Application Support/Claude/claude_desktop_config.json:{ "mcpServers": { "uab-research-computing": { "command": "uv", "args": [ "--directory", "/ABSOLUTE/PATH/TO/uab-rc-docs-mcp-server", "run", "uab_docs_server.py" ] } } }Windows: Edit
%APPDATA%\Claude\claude_desktop_config.json:{ "mcpServers": { "uab-research-computing": { "command": "uv", "args": [ "--directory", "C:\\ABSOLUTE\\PATH\\TO\\uab-rc-docs-mcp-server", "run", "uab_docs_server.py" ] } } }Important: Replace
/ABSOLUTE/PATH/TO/uab-rc-docs-mcp-serverwith the actual absolute path to this directory.Restart Claude Desktop to load the new configuration.
Verify the connection in Claude Desktop:
Look for the š icon in the bottom right
Click it to see connected MCP servers
"uab-research-computing" should appear in the list
Using with Other MCP Clients
This server follows the standard MCP protocol and can be used with any compatible MCP client. Refer to your client's documentation for configuration instructions.
Popular MCP clients include:
Claude Desktop
Continue (VS Code extension)
Zed
And many others (see https://modelcontextprotocol.io/clients)
Example Queries
Once connected, you can ask Claude questions like:
"Search the UAB Research Computing docs for information about GPU computing"
"How do I submit a SLURM job on Cheaha?"
"What storage systems are available at UAB Research Computing?"
"Show me the quick start guide for Cheaha"
"What are the office hours for UAB Research Computing support?"
"Find documentation about using Python on Cheaha"
Architecture
This MCP server:
Uses FastMCP - A Python framework that simplifies MCP server development
Searches via GitHub API - Searches the documentation repository on GitHub
Fetches content via HTTP - Retrieves documentation pages directly from the website
Follows MCP best practices:
Uses stderr for logging (not stdout, which would corrupt STDIO transport)
Provides clear tool descriptions and parameter documentation
Handles errors gracefully with informative messages
Development
Running Tests
Project Structure
Adding New Tools
To add a new tool to the server:
Add a new function decorated with
@mcp.tool()Include a comprehensive docstring describing the tool's purpose
Use type hints for all parameters
Return formatted string results
Handle errors gracefully
Example:
Troubleshooting
Server Not Appearing in Claude Desktop
Check that the path in
claude_desktop_config.jsonis absolute and correctEnsure
uvis in your PATH (runwhich uvon macOS/Linux orwhere uvon Windows)Restart Claude Desktop completely
Check Claude Desktop's logs for errors:
macOS:
~/Library/Logs/Claude/Windows:
%APPDATA%\Claude\logs\
Connection Errors
Ensure all dependencies are installed:
uv pip install -e .Test the server directly:
uv run uab_docs_server.pyCheck for firewall or network restrictions
Search Returns No Results
The search tool queries the GitHub API, which has rate limits:
Unauthenticated: 60 requests per hour
Authenticated: 5,000 requests per hour
For production use, consider adding GitHub API authentication.
Resources
UAB Research Computing Documentation: https://docs.rc.uab.edu
Cheaha Access Portal: https://rc.uab.edu
Model Context Protocol: https://modelcontextprotocol.io
FastMCP Documentation: https://github.com/jlowin/fastmcp
Contributing
To contribute to this MCP server:
Follow the UAB Research Computing documentation contributor guide: https://docs.rc.uab.edu/contributing/contributor_guide/
Submit issues or pull requests to the appropriate repository
Follow Python best practices and maintain compatibility with MCP standards
License
This MCP server is provided for use with UAB Research Computing resources. Please refer to UAB's policies regarding research computing usage.
Support
For questions about:
UAB Research Computing services: Contact UAB Research Computing support through https://docs.rc.uab.edu/help/support
This MCP server: Submit issues to the repository maintainers
Acknowledgments
Built by the UAB Research Computing community to make research computing resources more accessible through AI assistance.
This server cannot be installed