| Name | fan-manager JSON |
| Version |
1.0.9
JSON |
| download |
| home_page | None |
| Summary | Manager your Dell PowerEdge Fan Speed with this handy tool and MCP Server! |
| upload_time | 2025-10-29 02:43:52 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.8 |
| license | MIT |
| keywords |
|
| VCS |
|
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# Fan-Manager

















*Version: 1.0.9*
Manager your Dell PowerEdge Fan Speed with this handy tool!
MCP Server for Agentic AI! Get started with Pip or Docker as well
This repository is actively maintained - Contributions are welcome!
Contribution Opportunities:
- Increase support of Dell PowerEdge Devices
- Support Non-PowerEdge Devices
- Support Non-Dell Devices
<details>
<summary><b>Usage:</b></summary>
### CLI
| Short Flag | Long Flag | Description |
|------------|-------------|--------------------------------------------------------|
| -h | --help | See usage for fan-manager |
| -i | --intensity | Intensity of Fan Speed - Scales Logarithmically (0-10) |
| -c | --cold | Minimum Temperature for Fan Speed |
| -w | --warm | Maximum Temperature for Fan Speed |
| -s | --slow | Minimum Fan Speed |
| -f | --fast | Maximum Fan Speed |
| -p | --poll-rate | Poll Rate for CPU Temperature in Seconds |
```bash
fan-manager --intensity 5 --cold 50 --warm 80 --slow 5 --fast 100 --poll-rate 24
```
### MCP CLI
| Short Flag | Long Flag | Description |
|------------|------------------------------------|-----------------------------------------------------------------------------|
| -h | --help | Display help information |
| -t | --transport | Transport method: 'stdio', 'http', or 'sse' [legacy] (default: stdio) |
| -s | --host | Host address for HTTP transport (default: 0.0.0.0) |
| -p | --port | Port number for HTTP transport (default: 8000) |
| | --auth-type | Authentication type: 'none', 'static', 'jwt', 'oauth-proxy', 'oidc-proxy', 'remote-oauth' (default: none) |
| | --token-jwks-uri | JWKS URI for JWT verification |
| | --token-issuer | Issuer for JWT verification |
| | --token-audience | Audience for JWT verification |
| | --oauth-upstream-auth-endpoint | Upstream authorization endpoint for OAuth Proxy |
| | --oauth-upstream-token-endpoint | Upstream token endpoint for OAuth Proxy |
| | --oauth-upstream-client-id | Upstream client ID for OAuth Proxy |
| | --oauth-upstream-client-secret | Upstream client secret for OAuth Proxy |
| | --oauth-base-url | Base URL for OAuth Proxy |
| | --oidc-config-url | OIDC configuration URL |
| | --oidc-client-id | OIDC client ID |
| | --oidc-client-secret | OIDC client secret |
| | --oidc-base-url | Base URL for OIDC Proxy |
| | --remote-auth-servers | Comma-separated list of authorization servers for Remote OAuth |
| | --remote-base-url | Base URL for Remote OAuth |
| | --allowed-client-redirect-uris | Comma-separated list of allowed client redirect URIs |
| | --eunomia-type | Eunomia authorization type: 'none', 'embedded', 'remote' (default: none) |
| | --eunomia-policy-file | Policy file for embedded Eunomia (default: mcp_policies.json) |
| | --eunomia-remote-url | URL for remote Eunomia server |
### Using as an MCP Server
The MCP Server can be run in two modes: `stdio` (for local testing) or `http` (for networked access). To start the server, use the following commands:
#### Run in stdio mode (default):
```bash
fan-manager-mcp --transport "stdio"
```
#### Run in HTTP mode:
```bash
fan-manager-mcp --transport "http" --host "0.0.0.0" --port "8000"
```
Docker Compose
Fan Manager
```docker-compose
---
services:
fan-manager:
image: knucklessg1/fan-manager:latest
container_name: server_fan_speed
privileged: true
environment:
MODE: "fan-manager"
INTENSITY: ${INTENSITY}
COLD: ${COLD}
WARM: ${WARM}
SLOW: ${SLOW}
FAST: ${FAST}
POLL_RATE: ${POLL_RATE}
volumes:
- /dev/ipmi0:/dev/ipmi0
restart: unless-stopped
```
Fan Manager MCP Server
```docker-compose
---
services:
fan-manager-mcp:
image: knucklessg1/fan-manager:latest
container_name: server_fan_speed
privileged: true
environment:
MODE: "fan-manager-mcp"
HOST: 0.0.0.0
PORT: 8030
TRANSPORT: "http"
volumes:
- /dev/ipmi0:/dev/ipmi0
restart: unless-stopped
```
Docker Run
```bash
docker run -it -d knucklessg1/fan-manager:latest fan-manager
```
Docker Compose
```bash
docker-compose up --build -d
```
#### Configure `mcp.json` for AI Integration
```json
{
"mcpServers": {
"fan-manager": {
"command": "uv",
"args": [
"run",
"--with",
"fan-manager",
"fan-manager-mcp"
],
"timeout": 200000
}
}
}
```
</details>
<details>
<summary><b>Installation Instructions:</b></summary>
Install Python Package
```bash
python -m pip install fan-manager
```
</details>
<details>
<summary><b>Repository Owners:</b></summary>
<img width="100%" height="180em" src="https://github-readme-stats.vercel.app/api?username=Knucklessg1&show_icons=true&hide_border=true&&count_private=true&include_all_commits=true" />


</details>
Raw data
{
"_id": null,
"home_page": null,
"name": "fan-manager",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Audel Rouhi <knucklessg1@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/f9/35/ddb46b6ee63ff076b6573b2fae83aec61e388b6cd9c596c1e1dbadff0611/fan_manager-1.0.9.tar.gz",
"platform": null,
"description": "# Fan-Manager\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n*Version: 1.0.9*\n\nManager your Dell PowerEdge Fan Speed with this handy tool!\n\nMCP Server for Agentic AI! Get started with Pip or Docker as well\n\nThis repository is actively maintained - Contributions are welcome!\n\nContribution Opportunities:\n- Increase support of Dell PowerEdge Devices\n- Support Non-PowerEdge Devices\n- Support Non-Dell Devices\n\n<details>\n <summary><b>Usage:</b></summary>\n\n### CLI\n| Short Flag | Long Flag | Description |\n|------------|-------------|--------------------------------------------------------|\n| -h | --help | See usage for fan-manager |\n| -i | --intensity | Intensity of Fan Speed - Scales Logarithmically (0-10) |\n| -c | --cold | Minimum Temperature for Fan Speed |\n| -w | --warm | Maximum Temperature for Fan Speed |\n| -s | --slow | Minimum Fan Speed |\n| -f | --fast | Maximum Fan Speed |\n| -p | --poll-rate | Poll Rate for CPU Temperature in Seconds |\n\n```bash\nfan-manager --intensity 5 --cold 50 --warm 80 --slow 5 --fast 100 --poll-rate 24\n```\n\n### MCP CLI\n\n| Short Flag | Long Flag | Description |\n|------------|------------------------------------|-----------------------------------------------------------------------------|\n| -h | --help | Display help information |\n| -t | --transport | Transport method: 'stdio', 'http', or 'sse' [legacy] (default: stdio) |\n| -s | --host | Host address for HTTP transport (default: 0.0.0.0) |\n| -p | --port | Port number for HTTP transport (default: 8000) |\n| | --auth-type | Authentication type: 'none', 'static', 'jwt', 'oauth-proxy', 'oidc-proxy', 'remote-oauth' (default: none) |\n| | --token-jwks-uri | JWKS URI for JWT verification |\n| | --token-issuer | Issuer for JWT verification |\n| | --token-audience | Audience for JWT verification |\n| | --oauth-upstream-auth-endpoint | Upstream authorization endpoint for OAuth Proxy |\n| | --oauth-upstream-token-endpoint | Upstream token endpoint for OAuth Proxy |\n| | --oauth-upstream-client-id | Upstream client ID for OAuth Proxy |\n| | --oauth-upstream-client-secret | Upstream client secret for OAuth Proxy |\n| | --oauth-base-url | Base URL for OAuth Proxy |\n| | --oidc-config-url | OIDC configuration URL |\n| | --oidc-client-id | OIDC client ID |\n| | --oidc-client-secret | OIDC client secret |\n| | --oidc-base-url | Base URL for OIDC Proxy |\n| | --remote-auth-servers | Comma-separated list of authorization servers for Remote OAuth |\n| | --remote-base-url | Base URL for Remote OAuth |\n| | --allowed-client-redirect-uris | Comma-separated list of allowed client redirect URIs |\n| | --eunomia-type | Eunomia authorization type: 'none', 'embedded', 'remote' (default: none) |\n| | --eunomia-policy-file | Policy file for embedded Eunomia (default: mcp_policies.json) |\n| | --eunomia-remote-url | URL for remote Eunomia server |\n\n### Using as an MCP Server\n\nThe MCP Server can be run in two modes: `stdio` (for local testing) or `http` (for networked access). To start the server, use the following commands:\n\n#### Run in stdio mode (default):\n```bash\nfan-manager-mcp --transport \"stdio\"\n```\n\n#### Run in HTTP mode:\n```bash\nfan-manager-mcp --transport \"http\" --host \"0.0.0.0\" --port \"8000\"\n```\n\nDocker Compose\n\nFan Manager\n```docker-compose\n---\nservices:\n fan-manager:\n image: knucklessg1/fan-manager:latest\n container_name: server_fan_speed\n privileged: true\n environment:\n MODE: \"fan-manager\"\n INTENSITY: ${INTENSITY}\n COLD: ${COLD}\n WARM: ${WARM}\n SLOW: ${SLOW}\n FAST: ${FAST}\n POLL_RATE: ${POLL_RATE}\n volumes:\n - /dev/ipmi0:/dev/ipmi0\n restart: unless-stopped\n```\n\nFan Manager MCP Server\n```docker-compose\n---\nservices:\n fan-manager-mcp:\n image: knucklessg1/fan-manager:latest\n container_name: server_fan_speed\n privileged: true\n environment:\n MODE: \"fan-manager-mcp\"\n HOST: 0.0.0.0\n PORT: 8030\n TRANSPORT: \"http\"\n volumes:\n - /dev/ipmi0:/dev/ipmi0\n restart: unless-stopped\n```\n\nDocker Run\n```bash\ndocker run -it -d knucklessg1/fan-manager:latest fan-manager\n```\n\nDocker Compose\n```bash\ndocker-compose up --build -d\n```\n\n#### Configure `mcp.json` for AI Integration\n\n```json\n{\n \"mcpServers\": {\n \"fan-manager\": {\n \"command\": \"uv\",\n \"args\": [\n \"run\",\n \"--with\",\n \"fan-manager\",\n \"fan-manager-mcp\"\n ],\n \"timeout\": 200000\n }\n }\n}\n```\n\n</details>\n\n<details>\n <summary><b>Installation Instructions:</b></summary>\n\nInstall Python Package\n\n```bash\npython -m pip install fan-manager\n```\n\n</details>\n\n<details>\n <summary><b>Repository Owners:</b></summary>\n\n\n<img width=\"100%\" height=\"180em\" src=\"https://github-readme-stats.vercel.app/api?username=Knucklessg1&show_icons=true&hide_border=true&&count_private=true&include_all_commits=true\" />\n\n\n\n</details>\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Manager your Dell PowerEdge Fan Speed with this handy tool and MCP Server!",
"version": "1.0.9",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2e83f7e4e701954c34cc6528e0c4d9a07d9ccec7b38f1025d1b11d83ae48157c",
"md5": "1962ff5c5d1fe2d5eb02acd4430a5928",
"sha256": "e2210235c836773bbae13634adce2a795a5b2beff24a439d071aabec13e1b2ec"
},
"downloads": -1,
"filename": "fan_manager-1.0.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1962ff5c5d1fe2d5eb02acd4430a5928",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 11458,
"upload_time": "2025-10-29T02:43:51",
"upload_time_iso_8601": "2025-10-29T02:43:51.049618Z",
"url": "https://files.pythonhosted.org/packages/2e/83/f7e4e701954c34cc6528e0c4d9a07d9ccec7b38f1025d1b11d83ae48157c/fan_manager-1.0.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f935ddb46b6ee63ff076b6573b2fae83aec61e388b6cd9c596c1e1dbadff0611",
"md5": "179ff761482d0edb04c97d872085417e",
"sha256": "d4be8b4ba66129e3181d42162cdb9497a72159fe75bd1152f0d7664e79553127"
},
"downloads": -1,
"filename": "fan_manager-1.0.9.tar.gz",
"has_sig": false,
"md5_digest": "179ff761482d0edb04c97d872085417e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 11719,
"upload_time": "2025-10-29T02:43:52",
"upload_time_iso_8601": "2025-10-29T02:43:52.473260Z",
"url": "https://files.pythonhosted.org/packages/f9/35/ddb46b6ee63ff076b6573b2fae83aec61e388b6cd9c596c1e1dbadff0611/fan_manager-1.0.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-29 02:43:52",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "fan-manager"
}