@@ -202,6 +202,7 @@ npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp
202202### Index Management
203203- ` create-index ` : Create a new index with optional primary key
204204- ` list-indexes ` : List all available indexes
205+ - ` delete-index ` : Delete an existing index and all its documents
205206- ` get-index-metrics ` : Get detailed metrics for a specific index
206207
207208### Document Operations
@@ -287,6 +288,103 @@ git push origin feature/your-feature-name
287288- Test both success and error cases
288289- Ensure Meilisearch is running before running tests
289290
291+ ## Release Process
292+
293+ This project uses automated versioning and publishing to PyPI. The release process is designed to be simple and automated.
294+
295+ ### How Releases Work
296+
297+ 1 . ** Automated Publishing** : When the version number in ` pyproject.toml ` changes on the ` main ` branch, a GitHub Action automatically:
298+ - Builds the Python package
299+ - Publishes it to PyPI using trusted publishing
300+ - Creates a new release on GitHub
301+
302+ 2 . ** Version Detection** : The workflow compares the current version in ` pyproject.toml ` with the previous commit to detect changes
303+
304+ 3 . ** PyPI Publishing** : Uses PyPA's official publish action with trusted publishing (no manual API keys needed)
305+
306+ ### Creating a New Release
307+
308+ To create a new release, follow these steps:
309+
310+ #### 1. Determine Version Number
311+
312+ Follow [ Semantic Versioning] ( https://semver.org/ ) (MAJOR.MINOR.PATCH):
313+
314+ - ** PATCH** (e.g., 0.4.0 → 0.4.1): Bug fixes, documentation updates, minor improvements
315+ - ** MINOR** (e.g., 0.4.0 → 0.5.0): New features, new MCP tools, significant enhancements
316+ - ** MAJOR** (e.g., 0.5.0 → 1.0.0): Breaking changes, major API changes
317+
318+ #### 2. Update Version and Create PR
319+
320+ ``` bash
321+ # 1. Create a branch from latest main
322+ git checkout main
323+ git pull origin main
324+ git checkout -b release/v0.5.0
325+
326+ # 2. Update version in pyproject.toml
327+ # Edit the version = "0.4.0" line to your new version
328+
329+ # 3. Commit and push
330+ git add pyproject.toml
331+ git commit -m " Bump version to 0.5.0"
332+ git push origin release/v0.5.0
333+
334+ # 4. Create PR and get it reviewed/merged
335+ gh pr create --title " Release v0.5.0" --body " Bump version for release"
336+ ```
337+
338+ #### 3. Merge to Main
339+
340+ Once the PR is approved and merged to ` main ` , the GitHub Action will automatically:
341+
342+ 1 . Detect the version change
343+ 2 . Build the package
344+ 3 . Publish to PyPI at https://pypi.org/p/meilisearch-mcp
345+ 4 . Make the new version available via ` pip install meilisearch-mcp `
346+
347+ #### 4. Verify Release
348+
349+ After merging, verify the release:
350+
351+ ``` bash
352+ # Check GitHub Action status
353+ gh run list --workflow=publish.yml
354+
355+ # Verify on PyPI (may take a few minutes)
356+ pip index versions meilisearch-mcp
357+
358+ # Test installation of new version
359+ pip install --upgrade meilisearch-mcp
360+ ```
361+
362+ ### Release Workflow File
363+
364+ The automated release is handled by ` .github/workflows/publish.yml ` , which:
365+
366+ - Triggers on pushes to ` main ` branch
367+ - Checks if ` pyproject.toml ` version changed
368+ - Uses Python 3.10 and official build tools
369+ - Publishes using trusted publishing (no API keys required)
370+ - Provides verbose output for debugging
371+
372+ ### Troubleshooting Releases
373+
374+ ** Release didn't trigger** : Check that the version in ` pyproject.toml ` actually changed between commits
375+
376+ ** Build failed** : Check the GitHub Actions logs for Python package build errors
377+
378+ ** PyPI publish failed** : Verify the package name and that trusted publishing is configured properly
379+
380+ ** Version conflicts** : Ensure the new version number hasn't been used before on PyPI
381+
382+ ### Development vs Production Versions
383+
384+ - ** Development** : Install from source using ` pip install -e . `
385+ - ** Production** : Install from PyPI using ` pip install meilisearch-mcp `
386+ - ** Specific version** : Install using ` pip install meilisearch-mcp==0.5.0 `
387+
290388## License
291389
292390MIT
0 commit comments