Hello,
All relevant features in Hyperion should be accessible via MCP. The goal is to enable LLMs to use hyperion's core features like Patching devices, checking DMX values or even create a show.
For that a fundamental implementation exists, however, it lacks of many details such as authentication.
Context
Currently there is an implementation attempt using the mcp library with one test function.
MCP Server: https://github.com/Arian-Ott/hyperion/backend/src/mcp_server.py
MCP Auth Service: https://github.com/Arian-Ott/hyperion/blob/master/backend/src/services/mcp_auth.py
Database Model:
|
class MCPToken(Base, TimestampMixin): |
|
__tablename__ = "mcp_tokens" |
|
id = Column(UUID, primary_key=True, default=uuid.uuid7) |
|
account_id = Column(UUID, ForeignKey("accounts.id")) |
|
token = Column(String(128), unique=True, index=True) |
|
expires_at = Column(DateTime, nullable=False) |
|
|
MCP Token endpoint:
|
@account_router.post("/accounts/mcp") |
|
async def post_create_mcp_token(db=Depends(get_db), current_user=Depends(require_operator)): |
|
try: |
|
service = MCPAuthService(db) |
|
mcp_token = await service.create_mcp_token(current_user.id) |
|
return mcp_token |
|
except: |
|
raise HTTPException(500) |
|
|
DoD
Hello,
All relevant features in Hyperion should be accessible via MCP. The goal is to enable LLMs to use hyperion's core features like Patching devices, checking DMX values or even create a show.
For that a fundamental implementation exists, however, it lacks of many details such as authentication.
Context
Currently there is an implementation attempt using the
mcplibrary with one test function.MCP Server: https://github.com/Arian-Ott/hyperion/backend/src/mcp_server.py
MCP Auth Service: https://github.com/Arian-Ott/hyperion/blob/master/backend/src/services/mcp_auth.py
Database Model:
hyperion/backend/src/models/accounts.py
Lines 144 to 150 in b50a257
MCP Token endpoint:
hyperion/backend/src/routers/accounts.py
Lines 161 to 169 in b50a257
DoD