Files
mcp-server-cli/src/mcp_server_cli/auth.py
7000pctAUTO 1af06df0a0
Some checks failed
CI / test (push) Has been cancelled
fix: resolve CI/CD issues - all tests pass locally
2026-02-05 13:39:02 +00:00

60 lines
1.4 KiB
Python

"""Authentication and local LLM integration for MCP Server CLI."""
from typing import Any, Dict, Optional
from pydantic import BaseModel
class LocalLLMAuth:
"""Authentication for local LLM providers."""
def __init__(self, base_url: str, api_key: Optional[str] = None):
"""Initialize LLM authentication.
Args:
base_url: Base URL for the LLM API.
api_key: Optional API key.
"""
self.base_url = base_url
self.api_key = api_key
def get_headers(self) -> Dict[str, str]:
"""Get headers for API requests.
Returns:
Dictionary of headers.
"""
headers = {"Content-Type": "application/json"}
if self.api_key:
headers["Authorization"] = f"Bearer {self.api_key}"
return headers
def get_chat_endpoint(self) -> str:
"""Get the chat completions endpoint.
Returns:
Full URL for chat completions.
"""
return f"{self.base_url}/v1/chat/completions"
class LLMResponse(BaseModel):
"""Response from LLM API."""
id: str
object: str
created: int
model: str
choices: list
usage: Dict[str, int]
class LLMChatRequest(BaseModel):
"""Request to LLM chat API."""
model: str
messages: list
temperature: float = 0.7
max_tokens: int = 2048
stream: bool = False