jngy36/buschgpt-mcp-server
If you are the rightful owner of buschgpt-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
BuschGPT MCP Server provides access to technical manuals and specification sheets for Busch products through a Model Context Protocol (MCP) server.
BuschGPT MCP Server
This is a Model Context Protocol (MCP) server that provides access to the BuschGPT service. BuschGPT is a specialized GPT service with access to technical manuals and specification sheets for Busch products.
Features
- Authentication Management: Handles OAuth2 client credentials flow with automatic token refresh
- Query Interface: Provides a simple
buschgpt_querytool for interacting with the service - Error Handling: Comprehensive error handling for network requests and authentication
- MCP Compliance: Fully compliant with the Model Context Protocol specification
Installation
Docker Deployment (Recommended)
- Clone this repository
- Set up environment variables:
make dev-setup # or manually: cp .env.docker.example .env - Edit
.envwith your actual credentials - Start the service:
make up # or: docker-compose up -d
Local Development
- Clone this repository
- Install dependencies:
npm install - Set up environment variables (see Configuration section)
- Build the project:
npm run build
Configuration
Create a .env file in the project root with the following environment variables:
STATWORX_AUTH_SERVER=your_auth_server_url
STATWORX_CLIENT_ID=your_client_id
STATWORX_CLIENT_SECRET=your_client_secret
These variables are required for authentication with the BuschGPT service.
Usage
Running with Docker (Recommended)
-
Set up environment variables:
cp .env.docker.example .env # Edit .env with your actual credentials -
Start the service:
docker-compose up -d -
View logs:
docker-compose logs -f buschgpt-mcp-server -
Stop the service:
docker-compose down
Using Makefile Commands
For easier Docker management, use the provided Makefile:
make dev-setup # Set up development environment
make build # Build Docker image
make up # Start the service
make logs # View logs
make down # Stop the service
make restart # Restart the service
make health # Check service health
make clean # Clean up Docker resources
Running Locally (Development)
Start the MCP server locally:
npm start
For development with auto-reload:
npm run dev
Using with MCP Clients
The server provides one tool:
buschgpt_query: Query the BuschGPT service for technical information- Input:
query(string) - The question or query to send to BuschGPT - Output: Text response from BuschGPT
- Input:
Example query:
"Can you list similar product codes to F4HF7CS1610110? And how much do these products weigh?"
Customizing Tool Description
To modify the tool description visible to MCP clients, edit the description in the ListToolsRequestSchema handler in src/index.ts. Look for the comment:
// 🔧 TOOL DESCRIPTION - CUSTOMIZE THIS SECTION 🔧
Architecture
The server consists of several key components:
- Authentication Manager: Handles OAuth2 token lifecycle
- Request Handler: Processes MCP tool calls and forwards to BuschGPT
- Error Handling: Provides meaningful error messages for various failure scenarios
Development
Project Structure
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled JavaScript output
├── logs/ # Docker container logs
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── Dockerfile # Docker image configuration
├── docker-compose.yaml # Docker Compose configuration
├── Makefile # Docker management commands
├── .dockerignore # Docker build ignore patterns
├── .env.example # Local environment template
├── .env.docker.example # Docker environment template
└── README.md # This file
Available Scripts
Docker Commands (via Makefile):
make up- Start the service with Dockermake down- Stop the servicemake logs- View real-time logsmake restart- Restart the servicemake build- Build Docker imagemake clean- Clean up Docker resourcesmake health- Check service healthmake dev-setup- Set up development environment
Local Development:
npm run build- Compile TypeScript to JavaScriptnpm start- Run the compiled servernpm run dev- Run with development auto-reloadnpm run clean- Remove build directory
Error Handling
The server handles various error conditions:
- Authentication Failures: Invalid credentials or expired tokens
- Network Errors: Connection issues with BuschGPT service
- Invalid Requests: Missing or malformed query parameters
- Service Errors: BuschGPT service unavailability
License
MIT License