testmcpy 0.2.8__tar.gz → 0.2.9__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 (127) hide show
  1. {testmcpy-0.2.8/testmcpy.egg-info → testmcpy-0.2.9}/PKG-INFO +1 -1
  2. {testmcpy-0.2.8 → testmcpy-0.2.9}/pyproject.toml +1 -1
  3. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/routers/mcp_profiles.py +24 -19
  4. {testmcpy-0.2.8 → testmcpy-0.2.9/testmcpy.egg-info}/PKG-INFO +1 -1
  5. {testmcpy-0.2.8 → testmcpy-0.2.9}/LICENSE +0 -0
  6. {testmcpy-0.2.8 → testmcpy-0.2.9}/MANIFEST.in +0 -0
  7. {testmcpy-0.2.8 → testmcpy-0.2.9}/NOTICE +0 -0
  8. {testmcpy-0.2.8 → testmcpy-0.2.9}/README.md +0 -0
  9. {testmcpy-0.2.8 → testmcpy-0.2.9}/setup.cfg +0 -0
  10. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/__init__.py +0 -0
  11. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/auth_debugger.py +0 -0
  12. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/auth_flow_recorder.py +0 -0
  13. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/cli/__init__.py +0 -0
  14. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/cli/app.py +0 -0
  15. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/cli/commands/__init__.py +0 -0
  16. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/cli/commands/mcp.py +0 -0
  17. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/cli/commands/run.py +0 -0
  18. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/cli/commands/server.py +0 -0
  19. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/cli/commands/tools.py +0 -0
  20. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/cli/commands/tui.py +0 -0
  21. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/config.py +0 -0
  22. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/core/__init__.py +0 -0
  23. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/core/chat_session.py +0 -0
  24. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/core/docs_optimizer.py +0 -0
  25. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/core/mcp_manager.py +0 -0
  26. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/core/tool_comparison.py +0 -0
  27. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/core/tool_discovery.py +0 -0
  28. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/error_handlers.py +0 -0
  29. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/evals/__init__.py +0 -0
  30. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/evals/auth_evaluators.py +0 -0
  31. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/evals/base_evaluators.py +0 -0
  32. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/formatters/__init__.py +0 -0
  33. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/formatters/base.py +0 -0
  34. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/formatters/curl.py +0 -0
  35. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/formatters/graphql.py +0 -0
  36. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/formatters/javascript_client.py +0 -0
  37. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/formatters/json_yaml.py +0 -0
  38. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/formatters/protobuf.py +0 -0
  39. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/formatters/python.py +0 -0
  40. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/formatters/python_client.py +0 -0
  41. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/formatters/thrift.py +0 -0
  42. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/formatters/typescript.py +0 -0
  43. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/formatters/typescript_client.py +0 -0
  44. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/llm_profiles.py +0 -0
  45. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/mcp_profiles.py +0 -0
  46. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/research/claude_sdk_detailed_exploration.py +0 -0
  47. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/research/claude_sdk_poc.py +0 -0
  48. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/research/claude_sdk_working_poc.py +0 -0
  49. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/research/test_ollama_tools.py +0 -0
  50. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/__init__.py +0 -0
  51. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/api.py +0 -0
  52. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/api.py.bak +0 -0
  53. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/helpers/__init__.py +0 -0
  54. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/helpers/mcp_config.py +0 -0
  55. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/models.py +0 -0
  56. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/routers/__init__.py +0 -0
  57. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/routers/auth.py +0 -0
  58. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/routers/generation_logs.py +0 -0
  59. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/routers/llm.py +0 -0
  60. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/routers/results.py +0 -0
  61. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/routers/smoke_reports.py +0 -0
  62. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/routers/test_profiles.py +0 -0
  63. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/routers/tests.py +0 -0
  64. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/routers/tools.py +0 -0
  65. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/state.py +0 -0
  66. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/tool_compare_endpoint.py +0 -0
  67. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/server/websocket.py +0 -0
  68. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/smoke_test.py +0 -0
  69. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/src/__init__.py +0 -0
  70. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/src/llm_integration.py +0 -0
  71. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/src/mcp_client.py +0 -0
  72. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/src/model_registry.py +0 -0
  73. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/src/models.py +0 -0
  74. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/src/runner_tools.py +0 -0
  75. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/src/test_runner.py +0 -0
  76. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/storage.py +0 -0
  77. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/test_profiles.py +0 -0
  78. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/README.md +0 -0
  79. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/dist/assets/index-CaEBvXci.css +0 -0
  80. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/dist/assets/index-DbhZ0GnU.js +0 -0
  81. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/dist/index.html +0 -0
  82. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/index.html +0 -0
  83. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/package-lock.json +0 -0
  84. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/package.json +0 -0
  85. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/postcss.config.js +0 -0
  86. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/App.jsx +0 -0
  87. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/CompareToolsTab.jsx +0 -0
  88. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/ErrorAlert.jsx +0 -0
  89. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/ErrorBoundary.jsx +0 -0
  90. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/LLMProfileSelector.jsx +0 -0
  91. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/LoadingSpinner.jsx +0 -0
  92. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/MCPProfileSelector.jsx +0 -0
  93. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/OptimizeDocsModal.jsx +0 -0
  94. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/ParameterCard.jsx +0 -0
  95. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/SchemaCodeViewer.jsx +0 -0
  96. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/SkeletonLoader.jsx +0 -0
  97. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/TestGenerationModal.jsx +0 -0
  98. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/TestProfileSelector.jsx +0 -0
  99. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/TestResultPanel.jsx +0 -0
  100. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/TestStatusIndicator.jsx +0 -0
  101. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/ToolComparison.jsx +0 -0
  102. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/ToolDebugModal.jsx +0 -0
  103. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/components/TypeBadge.jsx +0 -0
  104. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/contexts/TestRunContext.jsx +0 -0
  105. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/hooks/useKeyboardShortcuts.js +0 -0
  106. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/hooks/useSafeFetch.js +0 -0
  107. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/index.css +0 -0
  108. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/main.jsx +0 -0
  109. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/pages/AuthDebugger.jsx +0 -0
  110. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/pages/ChatInterface.jsx +0 -0
  111. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/pages/Configuration.jsx +0 -0
  112. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/pages/GenerationHistory.jsx +0 -0
  113. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/pages/LLMProfiles.jsx +0 -0
  114. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/pages/MCPExplorer.jsx +0 -0
  115. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/pages/MCPProfiles.jsx +0 -0
  116. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/pages/ProfilesManager.jsx +0 -0
  117. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/pages/Reports.jsx +0 -0
  118. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/pages/TestManager.jsx +0 -0
  119. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/utils/__tests__/formatConverters.test.js +0 -0
  120. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/src/utils/formatConverters.js +0 -0
  121. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/tailwind.config.js +0 -0
  122. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy/ui/vite.config.js +0 -0
  123. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy.egg-info/SOURCES.txt +0 -0
  124. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy.egg-info/dependency_links.txt +0 -0
  125. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy.egg-info/entry_points.txt +0 -0
  126. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy.egg-info/requires.txt +0 -0
  127. {testmcpy-0.2.8 → testmcpy-0.2.9}/testmcpy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: testmcpy
3
- Version: 0.2.8
3
+ Version: 0.2.9
4
4
  Summary: A comprehensive testing framework for validating LLM tool calling capabilities with MCP services
5
5
  Author: Amin Ghadersohi
6
6
  License-Expression: Apache-2.0
@@ -88,7 +88,7 @@ testmcpy = [
88
88
 
89
89
  [project]
90
90
  name = "testmcpy"
91
- version = "0.2.8"
91
+ version = "0.2.9"
92
92
  description = "A comprehensive testing framework for validating LLM tool calling capabilities with MCP services"
93
93
  authors = [{name = "Amin Ghadersohi"}]
94
94
  license = "Apache-2.0"
@@ -119,35 +119,40 @@ profiles:
119
119
  my-profile:
120
120
  # Display name for the profile
121
121
  name: My MCP Server
122
+ description: My MCP server configuration
122
123
 
123
- # MCP servers in this profile
124
+ # MCP servers in this profile (list format with -)
124
125
  mcps:
125
- my-server:
126
- # Server name (displayed in UI)
127
- name: My Server
128
-
129
- # How to start the server
130
- # Option 1: Command to run
131
- command: npx
132
- args:
133
- - -y
134
- - "@my-org/my-mcp-server"
135
-
136
- # Option 2: URL for remote server
137
- # url: http://localhost:3000/mcp
138
-
139
- # Environment variables (optional)
140
- # env:
141
- # API_KEY: your-api-key
126
+ - name: My Server
127
+ # URL of the MCP server
128
+ mcp_url: http://localhost:3000/mcp
142
129
 
143
130
  # Authentication (optional)
144
131
  # auth:
145
132
  # type: bearer
146
- # token_env: MY_API_TOKEN
133
+ # token: your-bearer-token
134
+
135
+ # For JWT auth:
136
+ # auth:
137
+ # type: jwt
138
+ # api_url: https://api.example.com/auth/
139
+ # api_token: your-api-token
140
+ # api_secret: your-api-secret
141
+
142
+ # Global settings (optional)
143
+ global:
144
+ timeout: 30
145
+ rate_limit:
146
+ requests_per_minute: 60
147
147
  """
148
148
 
149
149
  config_file.write_text(default_template)
150
150
 
151
+ # Reload the profile config cache
152
+ from testmcpy.mcp_profiles import reload_profile_config
153
+
154
+ reload_profile_config()
155
+
151
156
  return {
152
157
  "success": True,
153
158
  "message": "Created .mcp_services.yaml with default template",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: testmcpy
3
- Version: 0.2.8
3
+ Version: 0.2.9
4
4
  Summary: A comprehensive testing framework for validating LLM tool calling capabilities with MCP services
5
5
  Author: Amin Ghadersohi
6
6
  License-Expression: Apache-2.0
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