3 Commits

Author SHA1 Message Date
Ben
8fc4f00d27 fix: properly initialize FastMCP lifespan in Starlette app
All checks were successful
Build and Push Plex MCP Docker Image / build (push) Successful in 8s
FastMCP requires its lifespan context to be passed to the parent ASGI app
to initialize the StreamableHTTPSessionManager task group. This fix nests
mcp_app.lifespan() inside our custom lifespan to ensure proper initialization
while maintaining our custom startup/shutdown logic.

Resolves: RuntimeError: Task group is not initialized
2025-12-28 21:00:51 +00:00
Ben
5782ca3ea3 fix: use 'instructions' instead of 'description' in FastMCP init
All checks were successful
Build and Push Plex MCP Docker Image / build (push) Successful in 8s
The FastMCP constructor doesn't accept a 'description' parameter.
Changed to use 'instructions' parameter and switched to keyword arguments
for clarity.
2025-12-28 20:34:46 +00:00
Ben
25f2658dcb Initial commit: Plex MCP server with 6 tools and API passthrough
All checks were successful
Build and Push Plex MCP Docker Image / build (push) Successful in 35s
- get_libraries: List all library sections
- search_library: Search for media by title
- get_metadata: Get detailed item info by rating key
- get_recently_added: Get recently added content
- refresh_library: Trigger library scan
- plex_api_call: Raw API passthrough for any endpoint
- search_api_docs: Search OpenAPI spec for endpoint documentation

Includes Docker support and Gitea Actions workflow for container builds.
2025-12-28 18:19:00 +00:00