deepset-mcp 0.0.9__tar.gz → 0.0.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/PKG-INFO +1 -1
  2. deepset_mcp-0.0.11/entrypoint.sh +26 -0
  3. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/main.py +19 -0
  4. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/mcp/tool_factory.py +11 -0
  5. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/test_tool_factory.py +10 -0
  6. deepset_mcp-0.0.9/entrypoint.sh +0 -20
  7. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/.github/workflows/ai_agent.yml +0 -0
  8. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/.github/workflows/ci.yml +0 -0
  9. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/.github/workflows/docker_push.yml +0 -0
  10. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/.github/workflows/publish_docs.yml +0 -0
  11. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/.github/workflows/pypi_release.yml +0 -0
  12. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/.gitignore +0 -0
  13. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/.python-version +0 -0
  14. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/Dockerfile +0 -0
  15. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/LICENSE +0 -0
  16. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/Makefile +0 -0
  17. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/README.md +0 -0
  18. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/REPO.md +0 -0
  19. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/assets/claude_desktop_projects.png +0 -0
  20. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/assets/claude_desktop_with_tools.png +0 -0
  21. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/assets/deepset-mcp-3.gif +0 -0
  22. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/docs/concepts/mcp_server_concepts.md +0 -0
  23. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/docs/concepts/sdk_concepts.md +0 -0
  24. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/docs/guides/api_sdk.md +0 -0
  25. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/docs/guides/mcp_server.md +0 -0
  26. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/docs/index.md +0 -0
  27. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/docs/installation.md +0 -0
  28. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/docs/reference/api_sdk_reference.md +0 -0
  29. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/docs/reference/mcp_reference.md +0 -0
  30. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/docs/reference/tool_reference.md +0 -0
  31. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/license-header.txt +0 -0
  32. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/licenserc.toml +0 -0
  33. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/mkdocs.yml +0 -0
  34. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/pyproject.toml +0 -0
  35. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/__init__.py +0 -0
  36. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/__init__.py +0 -0
  37. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/client.py +0 -0
  38. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/custom_components/__init__.py +0 -0
  39. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/custom_components/models.py +0 -0
  40. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/custom_components/protocols.py +0 -0
  41. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/custom_components/resource.py +0 -0
  42. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/exceptions.py +0 -0
  43. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/haystack_service/__init__.py +0 -0
  44. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/haystack_service/protocols.py +0 -0
  45. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/haystack_service/resource.py +0 -0
  46. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/indexes/__init__.py +0 -0
  47. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/indexes/models.py +0 -0
  48. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/indexes/protocols.py +0 -0
  49. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/indexes/resource.py +0 -0
  50. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/integrations/__init__.py +0 -0
  51. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/integrations/models.py +0 -0
  52. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/integrations/protocols.py +0 -0
  53. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/integrations/resource.py +0 -0
  54. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/pipeline/__init__.py +0 -0
  55. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/pipeline/models.py +0 -0
  56. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/pipeline/protocols.py +0 -0
  57. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/pipeline/resource.py +0 -0
  58. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/pipeline_template/__init__.py +0 -0
  59. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/pipeline_template/models.py +0 -0
  60. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/pipeline_template/protocols.py +0 -0
  61. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/pipeline_template/resource.py +0 -0
  62. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/protocols.py +0 -0
  63. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/secrets/__init__.py +0 -0
  64. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/secrets/models.py +0 -0
  65. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/secrets/protocols.py +0 -0
  66. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/secrets/resource.py +0 -0
  67. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/shared_models.py +0 -0
  68. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/transport.py +0 -0
  69. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/user/__init__.py +0 -0
  70. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/user/protocols.py +0 -0
  71. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/user/resource.py +0 -0
  72. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/workspace/__init__.py +0 -0
  73. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/workspace/models.py +0 -0
  74. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/workspace/protocols.py +0 -0
  75. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/api/workspace/resource.py +0 -0
  76. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/config.py +0 -0
  77. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/initialize_embedding_model.py +0 -0
  78. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/mcp/__init__.py +0 -0
  79. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/mcp/server.py +0 -0
  80. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/mcp/store.py +0 -0
  81. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/mcp/tool_models.py +0 -0
  82. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/mcp/tool_registry.py +0 -0
  83. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/prompts/deepset_copilot_prompt.md +0 -0
  84. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/prompts/deepset_debugging_agent.md +0 -0
  85. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/py.typed +0 -0
  86. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tokonomics/__init__.py +0 -0
  87. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tokonomics/decorators.py +0 -0
  88. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tokonomics/explorer.py +0 -0
  89. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tokonomics/object_store.py +0 -0
  90. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tools/__init__.py +0 -0
  91. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tools/custom_components.py +0 -0
  92. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tools/doc_search.py +0 -0
  93. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tools/haystack_service.py +0 -0
  94. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tools/haystack_service_models.py +0 -0
  95. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tools/indexes.py +0 -0
  96. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tools/model_protocol.py +0 -0
  97. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tools/object_store.py +0 -0
  98. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tools/pipeline.py +0 -0
  99. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tools/pipeline_template.py +0 -0
  100. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tools/secrets.py +0 -0
  101. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/src/deepset_mcp/tools/workspace.py +0 -0
  102. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/__init__.py +0 -0
  103. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/__init__.py +0 -0
  104. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/conftest.py +0 -0
  105. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/test_integration_haystack_service_resource.py +0 -0
  106. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/test_integration_index_resource.py +0 -0
  107. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/test_integration_integrations_resource.py +0 -0
  108. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/test_integration_pipeline_logs.py +0 -0
  109. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/test_integration_pipeline_resource.py +0 -0
  110. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/test_integration_pipeline_template_resource.py +0 -0
  111. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/test_integration_secret_resource.py +0 -0
  112. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/test_integration_workspace_resource.py +0 -0
  113. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/tokonomics/__init__.py +0 -0
  114. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/tokonomics/test_integration_tokonomics.py +0 -0
  115. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/tools/__init__.py +0 -0
  116. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/integration/tools/test_integration_haystack_service.py +0 -0
  117. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/__init__.py +0 -0
  118. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/__init__.py +0 -0
  119. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/custom_components/__init__.py +0 -0
  120. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/custom_components/test_custom_components_resource.py +0 -0
  121. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/haystack_service/__init__.py +0 -0
  122. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/haystack_service/test_haystack_service_resource.py +0 -0
  123. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/indexes/__init__.py +0 -0
  124. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/indexes/test_index_resource.py +0 -0
  125. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/integrations/__init__.py +0 -0
  126. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/integrations/test_integration_resource.py +0 -0
  127. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/pipeline/__init__.py +0 -0
  128. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/pipeline/test_pipeline_resource.py +0 -0
  129. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/pipeline/test_pipeline_resource_search.py +0 -0
  130. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/pipeline_template/__init__.py +0 -0
  131. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/pipeline_template/test_pipeline_template_resource.py +0 -0
  132. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/secrets/test_secret_resource.py +0 -0
  133. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/test_shared_models.py +0 -0
  134. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/test_transport.py +0 -0
  135. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/user/__init__.py +0 -0
  136. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/user/test_user_resource.py +0 -0
  137. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/workspace/__init__.py +0 -0
  138. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/api/workspace/test_workspace_resource.py +0 -0
  139. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/conftest.py +0 -0
  140. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/test_async_deepset_client.py +0 -0
  141. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/test_server_base_url.py +0 -0
  142. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/test_store.py +0 -0
  143. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tokonomics/__init__.py +0 -0
  144. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tokonomics/test_decorators.py +0 -0
  145. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tokonomics/test_explorer.py +0 -0
  146. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tokonomics/test_integration.py +0 -0
  147. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tokonomics/test_object_store.py +0 -0
  148. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tokonomics/test_object_store_backends.py +0 -0
  149. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tools/__init__.py +0 -0
  150. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tools/test_custom_components.py +0 -0
  151. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tools/test_doc_search.py +0 -0
  152. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tools/test_haystack_service.py +0 -0
  153. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tools/test_indexes.py +0 -0
  154. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tools/test_pipeline.py +0 -0
  155. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tools/test_pipeline_template.py +0 -0
  156. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tools/test_secrets.py +0 -0
  157. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/test/unit/tools/test_workspace.py +0 -0
  158. {deepset_mcp-0.0.9 → deepset_mcp-0.0.11}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepset-mcp
3
- Version: 0.0.9
3
+ Version: 0.0.11
4
4
  Summary: Collection of MCP tools and Agents to work with the deepset AI platform. Create, debug or learn about pipelines on the platform. Useable from the CLI, Cursor, Claude Code, or other MCP clients.
5
5
  Project-URL: Homepage, https://deepset.ai
6
6
  Author-email: Mathis Lucka <mathis.lucka@deepset.ai>, Tanay Soni <tanay.soni@deepset.ai>
@@ -0,0 +1,26 @@
1
+ #!/bin/sh
2
+ # SPDX-FileCopyrightText: 2025-present deepset GmbH <info@deepset.ai>
3
+ #
4
+ # SPDX-License-Identifier: Apache-2.0
5
+
6
+ # entrypoint.sh
7
+
8
+ # 1) Change into the app dir
9
+ cd /app
10
+
11
+ # 2) Make sure we use the venv's Python
12
+ PYTHON_BIN=/app/.venv/bin/python
13
+
14
+ # 3) Point Python at the src/ directory so it can import deepset_mcp
15
+ export PYTHONPATH=/app/src
16
+
17
+ # 4) Exec your MCP server
18
+ # If no command-line arguments are provided, use environment variables as defaults
19
+ if [ $# -eq 0 ]; then
20
+ exec "$PYTHON_BIN" -m deepset_mcp.main \
21
+ --workspace "${DEEPSET_WORKSPACE}" \
22
+ --api-key "${DEEPSET_API_KEY}"
23
+ else
24
+ # Pass through all command-line arguments
25
+ exec "$PYTHON_BIN" -m deepset_mcp.main "$@"
26
+ fi
@@ -112,6 +112,20 @@ def main(
112
112
  "Can also be set via OBJECT_STORE_TTL environment variable.",
113
113
  ),
114
114
  ] = 600,
115
+ host: Annotated[
116
+ str,
117
+ typer.Option(
118
+ "--host",
119
+ help="Host address to bind the server to. Default: 0.0.0.0",
120
+ ),
121
+ ] = "0.0.0.0",
122
+ port: Annotated[
123
+ int | None,
124
+ typer.Option(
125
+ "--port",
126
+ help="Port number to bind the server to. If not specified, uses default port for the transport.",
127
+ ),
128
+ ] = None,
115
129
  ) -> None:
116
130
  """
117
131
  Run the Deepset MCP server.
@@ -130,6 +144,8 @@ def main(
130
144
  :param object_store_backend: Object store backend type ('memory' or 'redis')
131
145
  :param object_store_redis_url: Redis connection URL (required if backend='redis')
132
146
  :param object_store_ttl: TTL in seconds for stored objects
147
+ :param host: Host address to bind the server to
148
+ :param port: Port number to bind the server to
133
149
  """
134
150
  # Handle --list-tools flag early
135
151
  if list_tools:
@@ -187,6 +203,9 @@ def main(
187
203
  object_store_redis_url=redis_url,
188
204
  object_store_ttl=ttl,
189
205
  )
206
+ mcp.settings.host = host
207
+ if port is not None:
208
+ mcp.settings.port = port
190
209
 
191
210
  mcp.run(transport=transport.value)
192
211
 
@@ -193,8 +193,15 @@ def apply_client(
193
193
  ctx_param = inspect.Parameter(name="ctx", kind=inspect.Parameter.KEYWORD_ONLY, annotation=Context)
194
194
  new_params.append(ctx_param)
195
195
  client_wrapper_with_context.__signature__ = original_sig.replace(parameters=new_params) # type: ignore
196
+
197
+ # Remove client from docstring
196
198
  client_wrapper_with_context.__doc__ = remove_params_from_docstring(base_func.__doc__, {"client"})
197
199
 
200
+ # Remove client from annotations and add ctx
201
+ new_annotations = {k: v for k, v in base_func.__annotations__.items() if k != "client"}
202
+ new_annotations["ctx"] = Context
203
+ client_wrapper_with_context.__annotations__ = new_annotations
204
+
198
205
  return client_wrapper_with_context
199
206
  else:
200
207
 
@@ -214,6 +221,10 @@ def apply_client(
214
221
  # Remove client from docstring
215
222
  client_wrapper_without_context.__doc__ = remove_params_from_docstring(base_func.__doc__, {"client"})
216
223
 
224
+ # Remove client from annotations
225
+ new_annotations = {k: v for k, v in base_func.__annotations__.items() if k != "client"}
226
+ client_wrapper_without_context.__annotations__ = new_annotations
227
+
217
228
  return client_wrapper_without_context
218
229
 
219
230
 
@@ -9,6 +9,7 @@ from typing import Any
9
9
  from unittest.mock import MagicMock, patch
10
10
 
11
11
  import pytest
12
+ from mcp.server.fastmcp import Context
12
13
 
13
14
  from deepset_mcp.api.protocols import AsyncClientProtocol
14
15
  from deepset_mcp.mcp.tool_factory import (
@@ -265,6 +266,11 @@ class TestApplyClient:
265
266
  assert ":param client:" not in result.__doc__
266
267
  assert ":param a:" in result.__doc__
267
268
 
269
+ # Check annotations were updated
270
+ assert "client" not in result.__annotations__
271
+ assert "ctx" in result.__annotations__
272
+ assert result.__annotations__["ctx"] == Context
273
+
268
274
  def test_client_signature_updated_without_context(self) -> None:
269
275
  """Test that client parameter is removed without ctx."""
270
276
 
@@ -289,6 +295,10 @@ class TestApplyClient:
289
295
  assert result.__doc__ is not None
290
296
  assert ":param client:" not in result.__doc__
291
297
 
298
+ # Check annotations were updated
299
+ assert "client" not in result.__annotations__
300
+ assert "ctx" not in result.__annotations__
301
+
292
302
  @pytest.mark.asyncio
293
303
  async def test_client_context_missing_raises_error(self) -> None:
294
304
  """Test that missing context raises ValueError."""
@@ -1,20 +0,0 @@
1
- #!/bin/sh
2
- # SPDX-FileCopyrightText: 2025-present deepset GmbH <info@deepset.ai>
3
- #
4
- # SPDX-License-Identifier: Apache-2.0
5
-
6
- # entrypoint.sh
7
-
8
- # 1) Change into the app dir
9
- cd /app
10
-
11
- # 2) Make sure we use the venv’s Python
12
- PYTHON_BIN=/app/.venv/bin/python
13
-
14
- # 3) Point Python at the src/ directory so it can import deepset_mcp
15
- export PYTHONPATH=/app/src
16
-
17
- # 4) Exec your MCP server
18
- exec "$PYTHON_BIN" -m deepset_mcp.main \
19
- --workspace "${DEEPSET_WORKSPACE}" \
20
- --api-key "${DEEPSET_API_KEY}"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes