lucius-mcp 0.2.2__py3-none-any.whl → 0.4.0__py3-none-any.whl
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.
- lucius_mcp-0.4.0.dist-info/METADATA +124 -0
- {lucius_mcp-0.2.2.dist-info → lucius_mcp-0.4.0.dist-info}/RECORD +53 -25
- src/client/__init__.py +16 -0
- src/client/client.py +559 -14
- src/client/exceptions.py +23 -0
- src/client/generated/README.md +29 -0
- src/client/generated/__init__.py +6 -0
- src/client/generated/api/__init__.py +3 -0
- src/client/generated/api/integration_controller_api.py +5285 -0
- src/client/generated/api/test_layer_controller_api.py +1746 -0
- src/client/generated/api/test_layer_schema_controller_api.py +1415 -0
- src/client/generated/docs/IntegrationControllerApi.md +1224 -0
- src/client/generated/docs/TestLayerControllerApi.md +407 -0
- src/client/generated/docs/TestLayerSchemaControllerApi.md +350 -0
- src/client/overridden/test_case_custom_fields_v2.py +254 -0
- src/services/__init__.py +16 -0
- src/services/custom_field_value_service.py +301 -0
- src/services/integration_service.py +205 -0
- src/services/launch_service.py +306 -0
- src/services/search_service.py +1 -1
- src/services/shared_step_service.py +34 -17
- src/services/test_case_service.py +769 -117
- src/services/test_layer_service.py +427 -0
- src/tools/__init__.py +53 -0
- src/tools/create_custom_field_value.py +38 -0
- src/tools/create_test_case.py +68 -19
- src/tools/create_test_layer.py +33 -0
- src/tools/create_test_layer_schema.py +39 -0
- src/tools/delete_custom_field_value.py +57 -0
- src/tools/delete_test_case.py +5 -4
- src/tools/delete_test_layer.py +44 -0
- src/tools/delete_test_layer_schema.py +44 -0
- src/tools/get_custom_fields.py +2 -1
- src/tools/get_test_case_custom_fields.py +34 -0
- src/tools/launches.py +198 -0
- src/tools/link_shared_step.py +18 -12
- src/tools/list_custom_field_values.py +72 -0
- src/tools/list_integrations.py +77 -0
- src/tools/list_test_layer_schemas.py +43 -0
- src/tools/list_test_layers.py +38 -0
- src/tools/search.py +9 -6
- src/tools/shared_steps.py +23 -8
- src/tools/test_layers.py +21 -0
- src/tools/unlink_shared_step.py +19 -5
- src/tools/update_custom_field_value.py +55 -0
- src/tools/update_test_case.py +113 -23
- src/tools/update_test_layer.py +44 -0
- src/tools/update_test_layer_schema.py +51 -0
- src/utils/__init__.py +4 -0
- src/utils/links.py +13 -0
- lucius_mcp-0.2.2.dist-info/METADATA +0 -290
- {lucius_mcp-0.2.2.dist-info → lucius_mcp-0.4.0.dist-info}/WHEEL +0 -0
- {lucius_mcp-0.2.2.dist-info → lucius_mcp-0.4.0.dist-info}/entry_points.txt +0 -0
- {lucius_mcp-0.2.2.dist-info → lucius_mcp-0.4.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: lucius-mcp
|
|
3
|
+
Version: 0.4.0
|
|
4
|
+
Summary: Allure TestOps MCP Server
|
|
5
|
+
Project-URL: Homepage, https://github.com/ivanostanin/lucius-mcp
|
|
6
|
+
Project-URL: Documentation, https://github.com/ivanostanin/lucius-mcp#readme
|
|
7
|
+
Project-URL: Repository, https://github.com/ivanostanin/lucius-mcp.git
|
|
8
|
+
Project-URL: Issues, https://github.com/ivanostanin/lucius-mcp/issues
|
|
9
|
+
Project-URL: Changelog, https://github.com/ivanostanin/lucius-mcp/blob/main/CHANGELOG.md
|
|
10
|
+
Project-URL: Releases, https://github.com/ivanostanin/lucius-mcp/releases
|
|
11
|
+
Author-email: Ivan Ostanin <ivan@ostanin.me>
|
|
12
|
+
License-Expression: Apache-2.0
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
Keywords: allure,allure-testops,fastmcp,mcp,mcp-server,model-context-protocol,testops
|
|
15
|
+
Classifier: Development Status :: 4 - Beta
|
|
16
|
+
Classifier: Environment :: Console
|
|
17
|
+
Classifier: Intended Audience :: Developers
|
|
18
|
+
Classifier: Natural Language :: English
|
|
19
|
+
Classifier: Operating System :: OS Independent
|
|
20
|
+
Classifier: Programming Language :: Python :: 3
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
22
|
+
Classifier: Topic :: Software Development
|
|
23
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
24
|
+
Classifier: Topic :: Software Development :: Testing
|
|
25
|
+
Classifier: Topic :: Utilities
|
|
26
|
+
Classifier: Typing :: Typed
|
|
27
|
+
Requires-Python: >=3.14
|
|
28
|
+
Requires-Dist: fastmcp>=2.14.4
|
|
29
|
+
Requires-Dist: httpx>=0.28.1
|
|
30
|
+
Requires-Dist: pydantic-settings>=2.12.0
|
|
31
|
+
Requires-Dist: pydantic>=2.12.5
|
|
32
|
+
Requires-Dist: python-dateutil>=2.9.0.post0
|
|
33
|
+
Requires-Dist: python-json-logger>=2.0.7
|
|
34
|
+
Requires-Dist: rich>=13.7.0
|
|
35
|
+
Requires-Dist: starlette==0.52.1
|
|
36
|
+
Requires-Dist: uvicorn>=0.40.0
|
|
37
|
+
Requires-Dist: wsproto>=1.3.2
|
|
38
|
+
Provides-Extra: dev
|
|
39
|
+
Requires-Dist: allure-pytest>=2.15.3; extra == 'dev'
|
|
40
|
+
Requires-Dist: faker>=40.1.2; extra == 'dev'
|
|
41
|
+
Requires-Dist: mypy>=1.19.1; extra == 'dev'
|
|
42
|
+
Requires-Dist: openapi-generator-cli>=7.19.0; extra == 'dev'
|
|
43
|
+
Requires-Dist: pre-commit>=4.0.0; extra == 'dev'
|
|
44
|
+
Requires-Dist: pytest-asyncio>=1.3.0; extra == 'dev'
|
|
45
|
+
Requires-Dist: pytest-cov>=7.0.0; extra == 'dev'
|
|
46
|
+
Requires-Dist: pytest-mock>=3.15.1; extra == 'dev'
|
|
47
|
+
Requires-Dist: pytest-xdist>=3.8.0; extra == 'dev'
|
|
48
|
+
Requires-Dist: pytest>=9.0.2; extra == 'dev'
|
|
49
|
+
Requires-Dist: respx>=0.22.0; extra == 'dev'
|
|
50
|
+
Requires-Dist: ruff>=0.14.14; extra == 'dev'
|
|
51
|
+
Requires-Dist: twine>=6.2.0; extra == 'dev'
|
|
52
|
+
Description-Content-Type: text/markdown
|
|
53
|
+
|
|
54
|
+
# Lucius MCP Server
|
|
55
|
+
|
|
56
|
+
A specialized Model Context Protocol (MCP) server for Allure TestOps, built with `FastMCP` and `Starlette`.
|
|
57
|
+
|
|
58
|
+
## 🎯 Motivation
|
|
59
|
+
|
|
60
|
+
Allure TestOps is a powerful tool with a huge API. When you're using an AI agent to manage your tests, it can easily get
|
|
61
|
+
lost in the details or fail because of a small technical mistake.
|
|
62
|
+
|
|
63
|
+
Lucius makes this easier by giving your AI tools that are simple to use and hard to break:
|
|
64
|
+
|
|
65
|
+
- **Clear Tools**: Every tool is designed for a specific task, like "finding a test case" or "updating a launch".
|
|
66
|
+
- **Helpful Errors**: If an AI makes a mistake, Lucius doesn't just return a code—it provides an "Agent Hint" that
|
|
67
|
+
explains exactly what went wrong and how to fix it.
|
|
68
|
+
- **Solid Foundation**: We follow a clean "Thin Tool" structure, meaning the logic is consistent and easy for both
|
|
69
|
+
humans and AI to follow.
|
|
70
|
+
|
|
71
|
+
## 🛠️ Supported Tools
|
|
72
|
+
|
|
73
|
+
| Tool Category | Description | All Tools |
|
|
74
|
+
|:-----------------------|:-------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
75
|
+
| **Test Case Mgmt** | Full lifecycle for test documentation. | `create_test_case`, `update_test_case`, `delete_test_case`, `get_test_case_details`, `list_test_cases`, `get_test_case_custom_fields` |
|
|
76
|
+
| **Search & Discovery** | Advanced search and project metadata discovery. | `search_test_cases`, `get_custom_fields`, `list_integrations` |
|
|
77
|
+
| **Shared Steps** | Create and manage reusable sequence sequences. | `create_shared_step`, `list_shared_steps`, `update_shared_step`, `delete_shared_step`, `link_shared_step`, `unlink_shared_step` |
|
|
78
|
+
| **Test Layers** | Manage test taxonomy and auto-mapping schemas. | `list_test_layers`, `create_test_layer`, `update_test_layer`, `delete_test_layer`, `list_test_layer_schemas`, `create_test_layer_schema`, `update_test_layer_schema`, `delete_test_layer_schema` |
|
|
79
|
+
| **Custom Fields** | Project-level management of custom field values. | `list_custom_field_values`, `create_custom_field_value`, `update_custom_field_value`, `delete_custom_field_value` |
|
|
80
|
+
| **Launch Mgmt** | Execution tracking and launch statistics. | `create_launch`, `get_launch`, `list_launches` |
|
|
81
|
+
|
|
82
|
+
## 🚀 Quick Start
|
|
83
|
+
|
|
84
|
+
1. **Install uv**: `curl -LsSf https://astral.sh/uv/install.sh | sh`
|
|
85
|
+
2. **Setup Credentials**: Create a `.env` file with `ALLURE_ENDPOINT`, `ALLURE_PROJECT_ID`, and `ALLURE_API_TOKEN`.
|
|
86
|
+
3. **Run Server**: `uv run start`
|
|
87
|
+
|
|
88
|
+
### 🔌 Claude Desktop Integration
|
|
89
|
+
|
|
90
|
+
The easiest way to use Lucius in Claude Desktop is via the `.mcpb` bundle:
|
|
91
|
+
|
|
92
|
+
1. Download the latest `lucius-mcp.mcpb` from Releases.
|
|
93
|
+
2. Open with Claude Desktop.
|
|
94
|
+
3. Configure your Allure credentials in the UI.
|
|
95
|
+
|
|
96
|
+
### 💻 Claude Code Integration
|
|
97
|
+
|
|
98
|
+
To add Lucius to Claude Code, use the following command from within your project directory:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
claude mcp add testops-mcp --transport stdio \
|
|
102
|
+
--env ALLURE_ENDPOINT=https://example.testops.cloud\
|
|
103
|
+
--env ALLURE_PROJECT_ID=123 \
|
|
104
|
+
--env ALLURE_API_TOKEN=your_token \
|
|
105
|
+
--env MCP_MODE=stdio \
|
|
106
|
+
-- uvx --from lucius-mcp --refresh start
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
For detailed setup, including Claude Desktop (MCPB) integration, see [Setup Guide](docs/setup.md).
|
|
110
|
+
|
|
111
|
+
## 📂 Documentation
|
|
112
|
+
|
|
113
|
+
Full documentation is available in the [docs/](docs/index.md) folder:
|
|
114
|
+
|
|
115
|
+
- [Architecture & Design](docs/architecture.md)
|
|
116
|
+
- [Tool Reference](docs/tools.md)
|
|
117
|
+
- [Configuration & Setup](docs/setup.md)
|
|
118
|
+
- [Development Guide](docs/development.md)
|
|
119
|
+
- [AI Agent Protocol](docs/agent-documentation-protocol.md)
|
|
120
|
+
|
|
121
|
+
## 🤝 Contributing
|
|
122
|
+
|
|
123
|
+
Contributions are welcome! Please see the [Contribution Guidelines](CONTRIBUTING.md) and
|
|
124
|
+
the [Development Guide](docs/development.md) for more details.
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
src/main.py,sha256=JPT9QfOVOj5BGGVJtq6megXZqibTIHRV3zY38jQeI5g,2580
|
|
3
3
|
src/version.py,sha256=ZAzHiNwu2X1UtwUkcHNmKrXBwRJeVvXbpdfi7wtv3DY,76
|
|
4
|
-
src/client/__init__.py,sha256=
|
|
5
|
-
src/client/client.py,sha256=
|
|
6
|
-
src/client/exceptions.py,sha256=
|
|
7
|
-
src/client/generated/README.md,sha256=
|
|
8
|
-
src/client/generated/__init__.py,sha256=
|
|
4
|
+
src/client/__init__.py,sha256=G0G2BKEw93Wd6VveUQRtYxxjLyPnQgDn2K_1heOYBEo,1786
|
|
5
|
+
src/client/client.py,sha256=sgUsVVD064ujN3g27OslmvODZAGjYHSEKL8LY_729T0,72732
|
|
6
|
+
src/client/exceptions.py,sha256=Rl6RcuhpJoxYn1sTedseKolQfngiGCF1T6-araQUyhw,2177
|
|
7
|
+
src/client/generated/README.md,sha256=V_gkgGSNGOUBQPbvjFQvaNphH9gmfX2l2vmjkeQ3GC4,90765
|
|
8
|
+
src/client/generated/__init__.py,sha256=LUKu_SITT_ZTRonW4mxLg_HzMls3xHT7CSCEkQfH6-0,98580
|
|
9
9
|
src/client/generated/api_client.py,sha256=0m1Ax05egObKEi4V-APnDamj0FZVE5Z4isSu8QPIP8Y,27910
|
|
10
10
|
src/client/generated/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
11
11
|
src/client/generated/configuration.py,sha256=nJvRx1KvWIkb7B0u-PSKRtwmm8JTFPgBz1CpKlp5Gno,17823
|
|
12
12
|
src/client/generated/exceptions.py,sha256=ZpDRfPSo4xseVbDop1tZQhxJrUweRUcuCHI-pociYmg,6516
|
|
13
13
|
src/client/generated/rest.py,sha256=U6oxD5gY8dkbGrByetRZRb8UVU7IuFldQULHDM5xrF4,6470
|
|
14
|
-
src/client/generated/api/__init__.py,sha256=
|
|
14
|
+
src/client/generated/api/__init__.py,sha256=Id_y-UTcdmpMoxK9Qdx4VuBYmnd6p2qadQxiARQzedw,2360
|
|
15
15
|
src/client/generated/api/custom_field_controller_api.py,sha256=Cu5yPnHHR8DH3MjY1bVF3W2QkhWQsKqSWg75rMo7BpQ,99963
|
|
16
16
|
src/client/generated/api/custom_field_project_controller_api.py,sha256=itwkdD7cLKOIx2h4k_77lItQyETzhWtiqvjSoKfOpzE,90527
|
|
17
17
|
src/client/generated/api/custom_field_project_controller_v2_api.py,sha256=iXJtWSwq87b_QOU9WB8srvZijqr9tSOfGGuNhlh2Adc,25852
|
|
18
18
|
src/client/generated/api/custom_field_schema_controller_api.py,sha256=owULmpUNYCMGVLJKv_3m6fHwCc4J55Cep0TSXgHwfok,65843
|
|
19
19
|
src/client/generated/api/custom_field_value_controller_api.py,sha256=VGCT9QAlYUB137PbSw1Qi--mtJFLkxKvCU1_UY4x6ZI,122414
|
|
20
20
|
src/client/generated/api/custom_field_value_project_controller_api.py,sha256=Re_IpphBdpMFky0I81E2mGSzatsUl4wmk4CtN873cd4,73080
|
|
21
|
+
src/client/generated/api/integration_controller_api.py,sha256=8jsSppAyrgSxo2XAa6iVu9WK9bQGEJY7EONrpkdVn2g,207858
|
|
21
22
|
src/client/generated/api/launch_controller_api.py,sha256=UwUVvnDMl7WKeGffa2aWJy93V6tiNeyLm5lX0maVPlA,320808
|
|
22
23
|
src/client/generated/api/launch_search_controller_api.py,sha256=b1k3YJrwJYknRpfAVv3ZNTWcObJrfzobjWjt3J1Y7vc,24638
|
|
23
24
|
src/client/generated/api/project_controller_api.py,sha256=ykBhUwbv5oRJKx0BpP-FgR_CPU01rckJAMs2eej43h0,113644
|
|
@@ -33,6 +34,8 @@ src/client/generated/api/test_case_overview_controller_api.py,sha256=amyz7cRN5bJ
|
|
|
33
34
|
src/client/generated/api/test_case_scenario_controller_api.py,sha256=ajdjmwRtB5dkb7ya2VZXnp9l5Hw-PpZFNK4WnHKBcaE,115728
|
|
34
35
|
src/client/generated/api/test_case_search_controller_api.py,sha256=_qOZCmAd_esdDvAS_NHxICF0H-PZZXp2oRDEhi8ehVQ,25705
|
|
35
36
|
src/client/generated/api/test_case_tag_controller_api.py,sha256=UEpnjq7pEzEbD8mVAKCrKiE6mJFTidkVeQuBNc_PhaU,21661
|
|
37
|
+
src/client/generated/api/test_layer_controller_api.py,sha256=6ZDK_WSbhGy45QwepnvQaiNIAh55DtvpDEYpG1iMbLY,66919
|
|
38
|
+
src/client/generated/api/test_layer_schema_controller_api.py,sha256=Jvf_dr2KDznDMyackmUXwJGf6ecYL93ftMdlEGAslrE,54561
|
|
36
39
|
src/client/generated/docs/AccessGroupBulkDto.md,sha256=Vu4AJSBP-_PFXF0j9Zmz4AMGbxCJuc2iQyYDK_nt8KA,989
|
|
37
40
|
src/client/generated/docs/AccessGroupCreateDto.md,sha256=HJKwQNlyaP2uFb6E3AAXC4_WTt1sH0yW0FnRlNJAcTI,1147
|
|
38
41
|
src/client/generated/docs/AccessGroupDto.md,sha256=icYh1HU2B1u3Z0z-yGq4F9LCzSDiokIJPJGs1ijOaF8,1107
|
|
@@ -213,6 +216,7 @@ src/client/generated/docs/ImportRequestDto.md,sha256=mB2FCmufT6YS6prvLvMet6i6PSt
|
|
|
213
216
|
src/client/generated/docs/ImportRequestInfoDto.md,sha256=Ta82s9wUQCLyhJVblQxWuwWV4GChyHoWoCjGlXlzTTA,1175
|
|
214
217
|
src/client/generated/docs/ImportRequestStateDto.md,sha256=ipWzEfB_VakOw72kMGaY-H9uiSSa9DSq-5IjOnz_TGQ,339
|
|
215
218
|
src/client/generated/docs/ImportRequestTypeDto.md,sha256=ay7oEl41tbrrLGNuQbqETr6qxfrWQCjj8bn6M8by_3g,244
|
|
219
|
+
src/client/generated/docs/IntegrationControllerApi.md,sha256=mSt0rgkSBoKA00SA2UPybphETXlyFS1dQjlJkMH00bM,42211
|
|
216
220
|
src/client/generated/docs/IntegrationCreateDto.md,sha256=gxAsZdjJjTjEAb-b03n4cb-acWHewBIosBpPKebTor0,1235
|
|
217
221
|
src/client/generated/docs/IntegrationDto.md,sha256=lIHYlAuccGDTwvz4DLtRFLiQmid8-9b_OICzC_ly8hQ,1145
|
|
218
222
|
src/client/generated/docs/IntegrationExportCreateDto.md,sha256=Mr9u5uJ6Qam7D93KKNAp8nWgPDWtS_090vJbWsX9qNY,1498
|
|
@@ -601,9 +605,11 @@ src/client/generated/docs/TestKeyImportFieldMapping.md,sha256=iqAckrgvUtOkzWW62r
|
|
|
601
605
|
src/client/generated/docs/TestKeySchemaCreateDto.md,sha256=CEl3pbSdmaaCN-UeNr4Hbk6NBgP3cuQXxkqhpxuNWGU,1071
|
|
602
606
|
src/client/generated/docs/TestKeySchemaDto.md,sha256=vm3Y47JH4Lbe34jQqmEYSpyq_eXF9ag3wRbVhj9me0g,1286
|
|
603
607
|
src/client/generated/docs/TestKeySchemaPatchDto.md,sha256=LBIc2HYWzUHuFzNsMct-JPmg54uhxjkGLbocaBdPvQg,1049
|
|
608
|
+
src/client/generated/docs/TestLayerControllerApi.md,sha256=54am6JEDuAsVyZLlw_QgqFb4M6N0yMpilEzzPON11EI,12870
|
|
604
609
|
src/client/generated/docs/TestLayerCreateDto.md,sha256=K2eDgc9lFoTTtk050z-FrzOI7ERHLJLTP63h4ulmNF8,948
|
|
605
610
|
src/client/generated/docs/TestLayerDto.md,sha256=HxvwDGOxKQOGEj8DOdjrjllXCfstq5Um4HZ7jCi6gzI,1093
|
|
606
611
|
src/client/generated/docs/TestLayerPatchDto.md,sha256=ycPN_vRSLsz1JgsccZiuMYasthocBKuhSfFIgM-g3Rw,946
|
|
612
|
+
src/client/generated/docs/TestLayerSchemaControllerApi.md,sha256=GScfBisbMyvG83i7AZU7-AxbnIX_2Xvd3jkru1VKG9E,11009
|
|
607
613
|
src/client/generated/docs/TestLayerSchemaCreateDto.md,sha256=HC5LDCw0j2pfBdPzulwzQilB2hL2wyPABpSE7R4A3z0,1096
|
|
608
614
|
src/client/generated/docs/TestLayerSchemaDto.md,sha256=GmGeA0bi-CFRfHRi_mmCwX73UtWoXsNAIsjMVAO1cs0,1288
|
|
609
615
|
src/client/generated/docs/TestLayerSchemaPatchDto.md,sha256=vLucMqrWoRz8GZ0JgaYlRuLnt4Tiomv50eC_E1KcJfE,1074
|
|
@@ -1421,28 +1427,50 @@ src/client/generated/models/workflow_row_dto.py,sha256=lJaFfDmJISi6JTG5pvc2TKG_j
|
|
|
1421
1427
|
src/client/generated/models/workflow_schema_create_dto.py,sha256=hgXdh72-pgT8QQeebQyXiwo4u5mYQOib8NCy_2UG4V8,2795
|
|
1422
1428
|
src/client/generated/models/workflow_schema_dto.py,sha256=pK6kpb7vIHE4dkdBrS2G871tnt2abuAumdB8i_M5-gk,3807
|
|
1423
1429
|
src/client/generated/models/workflow_schema_patch_dto.py,sha256=m4RDERQlbWY997XTMgufFp5vQgYEQRmkJ8jMQNhZjr4,2729
|
|
1424
|
-
src/
|
|
1430
|
+
src/client/overridden/test_case_custom_fields_v2.py,sha256=3bzOTWaOAUAJftDdHVSA76QjvyvOiWOnPcupMDV5WqE,10464
|
|
1431
|
+
src/services/__init__.py,sha256=7dy-IPW2JLnxhXZtG0ORAYz5altjcYpo1nslEoZcNdk,512
|
|
1425
1432
|
src/services/attachment_service.py,sha256=_aQ-CAOCCDth_sWz1EyDw4W-1POQDsQ28YYCHUEXAlA,3890
|
|
1426
|
-
src/services/
|
|
1427
|
-
src/services/
|
|
1428
|
-
src/services/
|
|
1429
|
-
src/
|
|
1430
|
-
src/
|
|
1431
|
-
src/
|
|
1432
|
-
src/
|
|
1433
|
-
src/tools/
|
|
1434
|
-
src/tools/
|
|
1435
|
-
src/tools/
|
|
1436
|
-
src/tools/
|
|
1437
|
-
src/tools/
|
|
1438
|
-
src/
|
|
1433
|
+
src/services/custom_field_value_service.py,sha256=TN0M5f5bZ5zGklQszcIOhoQBO0cxCi-mhiwccKr8-1c,12407
|
|
1434
|
+
src/services/integration_service.py,sha256=cge8itF93udcYp1bnwPU5tDW2XGLuvo0eDpOMWwp5gs,7455
|
|
1435
|
+
src/services/launch_service.py,sha256=dhf_NTSoUYNMimVvatVnYQvUQa4V2EoslGPTZfOhu9Y,11573
|
|
1436
|
+
src/services/search_service.py,sha256=H_j4Cpq-trDYh9P3DD3yU57gTftdxx-YN7O_zf5umio,7832
|
|
1437
|
+
src/services/shared_step_service.py,sha256=nQ3zZ5U6uzxdMaGePXhEAP96CTlDNX5o09bVFDfBneY,13501
|
|
1438
|
+
src/services/test_case_service.py,sha256=zAjRQT3k6AF0sImUUXmSQ-4Rm6BnWGpYRoV5Cw-Q9t0,72089
|
|
1439
|
+
src/services/test_layer_service.py,sha256=VWRaNd3FOvy3oXZl3_uyV6kiWgioETnVl3jQ1Sd8uLY,15264
|
|
1440
|
+
src/tools/__init__.py,sha256=6A9mDb5KxttSNHjwUxzSZz2hXRGxieSi7Fl6Ddq8Tro,3025
|
|
1441
|
+
src/tools/create_custom_field_value.py,sha256=F6xbOwyS2nxuiVTP9QEZIO3QhTSaqUQ-s3ZsUT23pzE,1539
|
|
1442
|
+
src/tools/create_test_case.py,sha256=HLZ09d0MEAyRI5D89cOVBtSmov4SXvXCMjNKEhQxoKs,5220
|
|
1443
|
+
src/tools/create_test_layer.py,sha256=6l8eP6bGqyOILJvOAhbCClht_FSYHLcgxCeNdwYMZhc,1111
|
|
1444
|
+
src/tools/create_test_layer_schema.py,sha256=QuHvBgSYqyyPPSDtMaijOuM1Lzt8mH3u96owTNyLMhA,1569
|
|
1445
|
+
src/tools/delete_custom_field_value.py,sha256=9LY-YHhIcmtVRaIm29bfCoK7vPOV-7fuOuC-7YFaFE8,2268
|
|
1446
|
+
src/tools/delete_test_case.py,sha256=fSGrCMcHGRg6ZnruCYlcQNRCiY_riwvJLFLIx3Xz_UM,2132
|
|
1447
|
+
src/tools/delete_test_layer.py,sha256=lnzDMdA68pxKikGT9ZehYbLQ6DHcgO2H5kWZIPy3v3o,1594
|
|
1448
|
+
src/tools/delete_test_layer_schema.py,sha256=PZ7mPxTidRAedp_gPaaliumVG5k8HwTVgJ9_yGI_TVM,1662
|
|
1449
|
+
src/tools/get_custom_fields.py,sha256=jTbPzzFDUWZNWB1TbThpq8z5OnxaW24eK2-FX0Ba_Oc,1782
|
|
1450
|
+
src/tools/get_test_case_custom_fields.py,sha256=vcEj5CWaBtvva-buN2WEGBNuwzgXNHj9nOsrn2jOcO4,1336
|
|
1451
|
+
src/tools/launches.py,sha256=-fvV-CgJ2OKrUKHdFZHRoufIxzZq3N8JsYrFcmtfedc,7345
|
|
1452
|
+
src/tools/link_shared_step.py,sha256=Q_-5UbHSHGERC4xzr-6Fyvg3AePDe6nba8ckRQbHxK0,3903
|
|
1453
|
+
src/tools/list_custom_field_values.py,sha256=Q7Yt0KACDsyiw_N1fzq0FJTAHM5GYrTmfOefElKoSUE,3170
|
|
1454
|
+
src/tools/list_integrations.py,sha256=NIAHIJv7aSj6gP_1LGjhEic7kapchj4IAi78nRhVB6g,3055
|
|
1455
|
+
src/tools/list_test_layer_schemas.py,sha256=ju5fjXMXGho9jJ8TRXYooFHMzJDThhyFso0z8OZPgas,1580
|
|
1456
|
+
src/tools/list_test_layers.py,sha256=nH_VIJHt5kxfmD5z6_N4UER3anvNY3D-ukPo3HL15hk,1202
|
|
1457
|
+
src/tools/search.py,sha256=hmjruKOLvShs_35O5j6gUcCOwDMNMJU8g4AVWIKz3nc,13898
|
|
1458
|
+
src/tools/shared_steps.py,sha256=0R9HQg6w0dLp3KVyhvNPxyBa7gufHMbGlb33XaApwhY,7994
|
|
1459
|
+
src/tools/test_layers.py,sha256=lnvL-wKkexQ5sldC_3P-fWOZXCQDPBbDB03Cu1VudJ0,793
|
|
1460
|
+
src/tools/unlink_shared_step.py,sha256=xXyWI-dLKDUfkBCPz4GWpIl78nuPK-wOhzBPYg5N44I,3245
|
|
1461
|
+
src/tools/update_custom_field_value.py,sha256=TFI-5k-0L3Kve2UIvlAYtR_YAJFWXhx0tRB5EtV0skU,2358
|
|
1462
|
+
src/tools/update_test_case.py,sha256=o3ZG4LqYGPnktiENM8zM1IeL57pAwOVbNVD5bOAs2As,10137
|
|
1463
|
+
src/tools/update_test_layer.py,sha256=dJgs16qwcaQgLumrRyjti1CJ7TwEniqpW739EcCKE78,1760
|
|
1464
|
+
src/tools/update_test_layer_schema.py,sha256=9QlNPjoUDBxeuCHdpoTnFM6xiAW98rJvjtzXI0sgcGk,2168
|
|
1465
|
+
src/utils/__init__.py,sha256=puuJIVHt6RMo6xvMBsvGydGJuW0b6v1zi6rBexmOVGM,114
|
|
1439
1466
|
src/utils/auth.py,sha256=CfQws2BUct_wmPPbe_COTjHqoeKRfF0PcCs_8pkINjQ,3334
|
|
1440
1467
|
src/utils/config.py,sha256=q6PUlkfgpFEzrzspbmAYcvBbFOgOIDp5RTk5XcR4IGk,1412
|
|
1441
1468
|
src/utils/error.py,sha256=kUsp62qbz_Q1pz6dGblGTi0rNixJOiF-Vtp19punh7Q,6347
|
|
1469
|
+
src/utils/links.py,sha256=yPIqofIYbTnglOJ_4xUa-UvPB0S5blARjTClsMzv49w,538
|
|
1442
1470
|
src/utils/logger.py,sha256=8ZKOitFjwBRwDfD8wt0hfwIkS-rrrw2bjX5CaxgaZ9g,2504
|
|
1443
1471
|
src/utils/schema_hint.py,sha256=tQkoWTQG7rGbS-pA5Hve-wdb3Sx0869IOy9DCHU_3QM,1811
|
|
1444
|
-
lucius_mcp-0.
|
|
1445
|
-
lucius_mcp-0.
|
|
1446
|
-
lucius_mcp-0.
|
|
1447
|
-
lucius_mcp-0.
|
|
1448
|
-
lucius_mcp-0.
|
|
1472
|
+
lucius_mcp-0.4.0.dist-info/METADATA,sha256=kwjuYzKKk_rxFB4CE8cMkUJdyKav3gs46ih2OWOgejc,6842
|
|
1473
|
+
lucius_mcp-0.4.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
1474
|
+
lucius_mcp-0.4.0.dist-info/entry_points.txt,sha256=Y-XfajjPTM5lObHWqsMYRsLrJRsILKpFGgwBcefRZvw,41
|
|
1475
|
+
lucius_mcp-0.4.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
1476
|
+
lucius_mcp-0.4.0.dist-info/RECORD,,
|
src/client/__init__.py
CHANGED
|
@@ -4,14 +4,21 @@ from .client import (
|
|
|
4
4
|
AllureClient,
|
|
5
5
|
AttachmentStepDtoWithName,
|
|
6
6
|
BodyStepDtoWithSteps,
|
|
7
|
+
FindAll29200Response,
|
|
8
|
+
LaunchCreateDto,
|
|
9
|
+
LaunchDto,
|
|
10
|
+
PageLaunchDto,
|
|
11
|
+
PageLaunchPreviewDto,
|
|
7
12
|
PageSharedStepDto,
|
|
8
13
|
PageTestCaseDto,
|
|
9
14
|
ScenarioStepCreatedResponseDto,
|
|
10
15
|
ScenarioStepCreateDto,
|
|
16
|
+
ScenarioStepPatchDto,
|
|
11
17
|
SharedStepAttachmentRowDto,
|
|
12
18
|
SharedStepCreateDto,
|
|
13
19
|
SharedStepDto,
|
|
14
20
|
SharedStepPatchDto,
|
|
21
|
+
StepWithExpected,
|
|
15
22
|
TestCaseAttachmentRowDto,
|
|
16
23
|
TestCaseCreateV2Dto,
|
|
17
24
|
TestCaseDto,
|
|
@@ -27,6 +34,7 @@ from .exceptions import (
|
|
|
27
34
|
AllureNotFoundError,
|
|
28
35
|
AllureRateLimitError,
|
|
29
36
|
AllureValidationError,
|
|
37
|
+
LaunchNotFoundError,
|
|
30
38
|
TestCaseNotFoundError,
|
|
31
39
|
)
|
|
32
40
|
|
|
@@ -39,14 +47,22 @@ __all__ = [
|
|
|
39
47
|
"AllureValidationError",
|
|
40
48
|
"AttachmentStepDtoWithName",
|
|
41
49
|
"BodyStepDtoWithSteps",
|
|
50
|
+
"FindAll29200Response",
|
|
51
|
+
"LaunchCreateDto",
|
|
52
|
+
"LaunchDto",
|
|
53
|
+
"LaunchNotFoundError",
|
|
54
|
+
"PageLaunchDto",
|
|
55
|
+
"PageLaunchPreviewDto",
|
|
42
56
|
"PageSharedStepDto",
|
|
43
57
|
"PageTestCaseDto",
|
|
44
58
|
"ScenarioStepCreateDto",
|
|
45
59
|
"ScenarioStepCreatedResponseDto",
|
|
60
|
+
"ScenarioStepPatchDto",
|
|
46
61
|
"SharedStepAttachmentRowDto",
|
|
47
62
|
"SharedStepCreateDto",
|
|
48
63
|
"SharedStepDto",
|
|
49
64
|
"SharedStepPatchDto",
|
|
65
|
+
"StepWithExpected",
|
|
50
66
|
"TestCaseAttachmentRowDto",
|
|
51
67
|
"TestCaseCreateV2Dto",
|
|
52
68
|
"TestCaseDto",
|