Tahubu-AI/TahubuSF
If you are the rightful owner of TahubuSF and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
TahubuSF MCP Server provides seamless access to Sitefinity CMS data and operations through MCP integration and REST API access.
TahubuSF MCP Server
A Model Context Protocol (MCP) server that provides seamless access to Sitefinity CMS data and operations. Built with FastMCP 2.x, it offers both MCP integration for Claude Desktop and REST API access for web applications.
Environment setup
To run the MCP server, you need to have Python 3.13 or higher installed on your machine. You can download it from the official website: Python Downloads.
1. Create a Virtual Environment
In VS Code, create a new Python environment by opening the terminal and running:
python -m venv .venv
This will create a new virtual environment named .venv
. Activate the virtual environment:
- On Windows:
.venv\Scripts\Activate.ps1
- On macOS and Linux:
source .venv/bin/activate
You should see (.venv)
or (tahubusf)
at the beginning of your terminal prompt, indicating you're working within the virtual environment.
2. Install Dependencies
Using uv (recommended):
First, install uv
by following the instructions in the uv documentation.
Then install the dependencies:
uv pip install -r requirements.txt
Using pip:
pip install -r requirements.txt
3. Configure Environment Variables
The TahubuSF application uses environment variables for configuration, the most important being:
SITEFINITY_SITE_PREFIX
: Base URL for your Sitefinity site
Set this by creating a .env
file in the project root:
SITEFINITY_SITE_PREFIX=https://your-sitefinity-site.com
Or set it in your environment before running any server:
# Windows PowerShell
$env:SITEFINITY_SITE_PREFIX="https://your-sitefinity-site.com"
# Linux/macOS
export SITEFINITY_SITE_PREFIX="https://your-sitefinity-site.com"
For a complete list of environment variables, see .
4. Authentication Configuration
Sitefinity web services require authentication for most operations. TahubuSF supports three authentication methods:
Anonymous Access
For public content or services that don't require authentication:
SITEFINITY_AUTH_TYPE=anonymous
API Key Authentication
For web services configured with API key access:
SITEFINITY_AUTH_TYPE=apikey
SITEFINITY_API_KEY=your-api-key-from-sitefinity
In Sitefinity, generate an API key at: Administration โ Settings โ Advanced โ WebServices โ WebServiceAccessKey
Access Key
For user-specific authentication:
SITEFINITY_AUTH_TYPE=accesskey
SITEFINITY_AUTH_KEY=your-access-key
In Sitefinity, you can generate an Access Key by following these steps:
- Create a user with appropriate permissions for the web service
- Navigate to Administration โ Users
- Click Actions โ Generate access key for the specific user
- Copy the key immediately (it will only be shown once)
For more details, see Sitefinity's official documentation on generating access keys.
Choose the appropriate authentication method based on your Sitefinity's web services configuration:
- For "Anonymous users", use
anonymous
- For "API key authentication", use
apikey
- For "Authenticated users", use
accesskey
5. FastAPI Dependencies (for Azure Deployment)
If you plan to use the FastAPI server for Azure deployment, install the additional dependencies:
# Within your activated virtual environment:
uv pip install fastapi uvicorn[standard] pydantic
Or if using pip:
# Within your activated virtual environment:
pip install -r requirements.txt
pip install fastapi uvicorn[standard] pydantic
Troubleshooting Dependencies
If you encounter dependency conflicts with packages like LangChain, try these solutions:
-
Create a separate virtual environment for this project:
python -m venv fresh_venv .\fresh_venv\Scripts\Activate.ps1 pip install -r requirements.txt
-
Use
--no-deps
flag to avoid dependency resolution conflicts:pip install --force-reinstall fastapi==0.110.0 uvicorn[standard]==0.27.0 pydantic==2.6.0 --no-deps
-
Ensure the correct Python interpreter is being used in VS Code by selecting it from the Python interpreter list.
๐ Quick Start
For Claude Desktop (MCP Integration)
# 1. Install dependencies
pip install -r requirements.txt
# 2. Start MCP server
python run.py
# 3. Add to Claude Desktop config
For Web/API Access
Start the FastAPI server to access tools via HTTP API:
# Production/Standard Use
cd fastapi_server
python run.py
# Development/Testing (auto-opens browser to Inspector)
python run_fastapi_dev.py
The run_fastapi_dev.py
script provides the easiest way to get started - it automatically:
- Installs dependencies if needed
- Starts the FastAPI server
- Opens your browser to the Inspector interface
- Handles cleanup when you stop the server
API Endpoints
Once the FastAPI server is running, you can access:
- API Documentation: http://localhost:8000/docs
- Tool Inspector: http://localhost:8000/inspector/
- Health Check: http://localhost:8000/health
- Run Tools: http://localhost:8000/api/run-tool
Inspector Interface
The web interface provides an easy way to test your MCP tools:
inspector/index.html
: Main testing interfaceinspector/css/styles.css
: Stylinginspector/js/
: JavaScript modules for tool interaction
๐ Available Tools
28 Sitefinity MCP Tools including:
๐ฐ Content Management
getNews
- Get news articlesgetBlogPosts
- Get blog posts with contentgetBlogPostById
- Get a specific blog post by its IDgetPages
- Get standard pagesgetSharedContent
- Get shared content blocks
๐ Events & Media
getEvents
- Get calendar eventsgetCalendars
- Get available calendarsgetImages
- Get image galleriesgetDocuments
- Get document libraries
๐ง System Operations
getSites
- Get site informationgetForms
- Get available formsgetUsers
- Get user accountssearchContent
- Search across content types
๐ ๏ธ Administrative
createContent
- Create new contentupdateContent
- Update existing contentdeleteContent
- Delete contentpublishContent
- Publish/unpublish content
๐๏ธ Architecture
STDIO Transport (MCP)
Claude Desktop โ MCP Protocol โ STDIO โ TahubuSF Server โ Sitefinity API
FastAPI Server (HTTP)
Web Browser โ HTTP/REST โ FastAPI โ TahubuSF Tools โ Sitefinity API
โ๏ธ Configuration
Claude Desktop Setup
{
"mcpServers":{
"TahubuSF": {
"command": "uv",
"args": [
"--directory",
"D:\\repos\\TahubuSF",
"run",
"run.py"
]
}
}
}
๐งช Testing
Test MCP Server
# Test server functionality
python -c "from tahubu_sf.app import create_app; app = create_app(); print('โ
MCP Server Working!')"
# Test STDIO transport
python run.py --verbose
Test FastAPI Server
# Automated testing
python fastapi_http_test.py
# Manual API testing
curl http://localhost:8000/health
curl http://localhost:8000/api/list-tools
๐ Project Structure
Project Structure
โโโ tahubu_sf/ # Core library package
โ โโโ api/ # API endpoint modules
โ โ โโโ blog_posts.py # Blog post management endpoints
โ โ โโโ news.py # News-related endpoints
โ โ โโโ pages.py # Pages and templates endpoints
โ โ โโโ sites.py # Site information endpoints
โ โโโ config/ # Configuration settings
โ โ โโโ settings.py # URL and app configuration
โ โโโ utils/ # Utility functions
โ โ โโโ http.py # HTTP request utilities
โ โ โโโ string_utils.py # String manipulation utilities
โ โโโ app.py # Application factory
โ
โโโ fastapi_server/ # FastAPI implementation
โ โโโ main.py # FastAPI application definition
โ โโโ routes.py # API route definitions
โ โโโ config.py # Configuration settings
โ โโโ wsgi.py # WSGI entry point
โ โโโ azure_deploy.py # Azure deployment utility
โ โโโ tests/ # API tests
โ
โโโ inspector/ # Web interface for testing
โ โโโ css/ # CSS stylesheets
โ โ โโโ styles.css # Main stylesheet
โ โโโ js/ # JavaScript files
โ โ โโโ utils.js # Utility functions
โ โ โโโ formatters.js # Result formatters
โ โ โโโ tools.js # Tool interaction functions
โ โโโ index.html # Main HTML page
โ
โโโ media/ # Static media files
โโโ docs/ # Documentation files
โโโ run_fastapi_dev.py # FastAPI development utility to start server and open inspector
โโโ fastapi_http_test.py # FastAPI HTTP transport and tool testing utility
โโโ run.py # Entry point for Claude Desktop
๐ข Deployment
Local Development
# MCP/Claude Desktop
python run.py
# Web/API server and Inspector for development
python run_fastapi_dev.py
# Web/API production server
cd fastapi_server && python run.py
Production (HTTP)
# FastAPI production server
cd fastapi_server
python run.py --host 0.0.0.0 --port 8000
# Or with uvicorn directly
uvicorn main:app --host 0.0.0.0 --port 8000
Docker Deployment
To deploy the FastAPI server using Docker, create a Dockerfile
in the fastapi_server
directory:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
WORKDIR /app/fastapi_server
CMD ["python", "run.py", "--host", "0.0.0.0", "--port", "8000"]
๐ API Documentation
When running the FastAPI server, comprehensive API documentation is available at:
- Interactive Docs: http://localhost:8000/docs
- OpenAPI Schema: http://localhost:8000/openapi.json
- Tool Inspector: http://localhost:8000/inspector/
๐ ๏ธ Development
Adding New Tools
- Create tool function in
tahubu_sf/api/
- Add MCP tool wrapper in
tahubu_sf/tools/
- Register tool in
tahubu_sf/app.py
- Test with both STDIO and FastAPI
Contributing
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Submit a pull request
๐ Documentation
- - STDIO vs HTTP transport
- - Complete tool documentation
- - Sitefinity API integration
- - Configuration guide
๐ Troubleshooting
Common Issues
Claude Desktop Connection
- Verify JSON configuration syntax
- Check file paths (use double backslashes on Windows)
- Ensure
uv
is installed and accessible
FastAPI Server
- Check port availability with
netstat -an | findstr :8000
- Verify Sitefinity API connectivity
- Review server logs for detailed errors
Dependencies
- Run
pip install -r requirements.txt
- For
uv
: Runuv sync
to ensure consistency
Support
- Check Issues for known problems
- Create new issue with detailed error information
- Include system details and configuration
Ready to integrate Sitefinity with Claude Desktop and web applications! ๐
Professional Services
Tahubu offers comprehensive consulting and training services in the following specialized areas:
- Sitefinity Development & Implementation - Expert guidance on Progress Sitefinity CMS solutions, architecture, and best practices
- Artificial Intelligence Integration - Strategic AI implementation, workflow optimization, and custom AI solution development
- Model Context Protocol (MCP) - Advanced consulting on MCP frameworks, integration strategies, and technical implementation
Our experienced team provides tailored solutions to help organizations leverage these cutting-edge technologies effectively. Whether you need strategic guidance, hands-on implementation support, or comprehensive training programs, we deliver results that drive your business forward.
Ready to get started? Contact us today to discuss your project requirements and explore how our expertise can benefit your organization.
Get in Touch: https://tahubu.com/contact