Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions src/deepset_mcp/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,23 +100,23 @@ def main(
typer.Option(
"--object-store-backend",
help="Object store backend type: 'memory' or 'redis'. "
"Can also be set via DEEPSET_OBJECT_STORE_BACKEND environment variable. Default is 'memory'.",
"Can also be set via OBJECT_STORE_BACKEND environment variable. Default is 'memory'.",
),
] = None,
redis_url: Annotated[
object_store_redis_url: Annotated[
str | None,
typer.Option(
"--redis-url",
"--object-store-redis-url",
help="Redis connection URL (e.g., redis://localhost:6379). "
"Can also be set via DEEPSET_REDIS_URL environment variable.",
"Can also be set via OBJECT_STORE_REDIS_URL environment variable.",
),
] = None,
object_store_ttl: Annotated[
int,
typer.Option(
"--object-store-ttl",
help="TTL in seconds for stored objects. Default: 600 (10 minutes). "
"Can also be set via DEEPSET_OBJECT_STORE_TTL environment variable.",
"Can also be set via OBJECT_STORE_TTL environment variable.",
),
] = 600,
) -> None:
Expand All @@ -136,7 +136,7 @@ def main(
:param api_key_from_auth_header: Get API key from authorization header
:param transport: Type of transport to use for the MCP server
:param object_store_backend: Object store backend type ('memory' or 'redis')
:param redis_url: Redis connection URL (required if backend='redis')
:param object_store_redis_url: Redis connection URL (required if backend='redis')
:param object_store_ttl: TTL in seconds for stored objects
"""
# Handle --list-tools flag early
Expand All @@ -153,9 +153,9 @@ def main(
docs_share_url = docs_share_url or os.getenv("DEEPSET_DOCS_SHARE_URL", DEEPSET_DOCS_DEFAULT_SHARE_URL)

# ObjectStore configuration
backend = str(object_store_backend or os.getenv("DEEPSET_OBJECT_STORE_BACKEND", "memory"))
redis_url = redis_url or os.getenv("DEEPSET_REDIS_URL")
ttl = int(os.getenv("DEEPSET_OBJECT_STORE_TTL", str(object_store_ttl)))
backend = str(object_store_backend or os.getenv("OBJECT_STORE_BACKEND", "memory"))
redis_url = object_store_redis_url or os.getenv("OBJECT_STORE_REDIS_URL")
ttl = int(os.getenv("OBJECT_STORE_TTL", str(object_store_ttl)))

if tools:
tool_names = set(tools)
Expand Down Expand Up @@ -198,7 +198,7 @@ def main(
deepset_docs_shareable_prototype_url=docs_share_url,
get_api_key_from_authorization_header=api_key_from_auth_header,
object_store_backend=backend,
redis_url=redis_url,
object_store_redis_url=redis_url,
object_store_ttl=ttl,
)

Expand Down
6 changes: 3 additions & 3 deletions src/deepset_mcp/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def configure_mcp_server(
deepset_docs_shareable_prototype_url: str | None = None,
get_api_key_from_authorization_header: bool = False,
object_store_backend: str = "memory",
redis_url: str | None = None,
object_store_redis_url: str | None = None,
object_store_ttl: int = 600,
) -> None:
"""Configure the MCP server with the specified tools and settings.
Expand All @@ -39,7 +39,7 @@ def configure_mcp_server(
:param deepset_docs_shareable_prototype_url: Optional URL for shared prototype
:param get_api_key_from_authorization_header: Whether to extract API key from authorization header
:param object_store_backend: Object store backend type ('memory' or 'redis')
:param redis_url: Redis connection URL (required if backend='redis')
:param object_store_redis_url: Redis connection URL (required if backend='redis')
:param object_store_ttl: TTL in seconds for stored objects
:raises ValueError: If required parameters are missing or invalid
"""
Expand Down Expand Up @@ -72,7 +72,7 @@ def configure_mcp_server(
docs_config = None

# Initialize the store before registering tools
store = initialize_store(backend=object_store_backend, redis_url=redis_url, ttl=object_store_ttl)
store = initialize_store(backend=object_store_backend, redis_url=object_store_redis_url, ttl=object_store_ttl)

register_tools(
mcp_server_instance=mcp_server_instance,
Expand Down