abba-mcp 0.25.0__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 (111) hide show
  1. abba_mcp-0.25.0/LICENSE +21 -0
  2. abba_mcp-0.25.0/PKG-INFO +123 -0
  3. abba_mcp-0.25.0/README.md +99 -0
  4. abba_mcp-0.25.0/pyproject.toml +41 -0
  5. abba_mcp-0.25.0/setup.cfg +4 -0
  6. abba_mcp-0.25.0/src/abba_mcp/__init__.py +429 -0
  7. abba_mcp-0.25.0/src/abba_mcp/__main__.py +3 -0
  8. abba_mcp-0.25.0/src/abba_mcp/data/commands/Align/ABBA - BigWarp Registration.md +16 -0
  9. abba_mcp-0.25.0/src/abba_mcp/data/commands/Align/ABBA - Copy and Apply Registration.md +16 -0
  10. abba_mcp-0.25.0/src/abba_mcp/data/commands/Align/ABBA - DeepSlice Registration.md +26 -0
  11. abba_mcp-0.25.0/src/abba_mcp/data/commands/Align/ABBA - Edit Last Registration.md +18 -0
  12. abba_mcp-0.25.0/src/abba_mcp/data/commands/Align/ABBA - Elastix Registration (Affine).md +20 -0
  13. abba_mcp-0.25.0/src/abba_mcp/data/commands/Align/ABBA - Elastix Registration (Spline).md +22 -0
  14. abba_mcp-0.25.0/src/abba_mcp/data/commands/Align/ABBA - Manual Affine Registration.md +16 -0
  15. abba_mcp-0.25.0/src/abba_mcp/data/commands/Align/ABBA - Mirror Slices.md +14 -0
  16. abba_mcp-0.25.0/src/abba_mcp/data/commands/Align/ABBA - Re-index channels of slices.md +14 -0
  17. abba_mcp-0.25.0/src/abba_mcp/data/commands/Align/ABBA - Remove Last Registration.md +12 -0
  18. abba_mcp-0.25.0/src/abba_mcp/data/commands/Align/ABBA - Un-Mirror Slices.md +12 -0
  19. abba_mcp-0.25.0/src/abba_mcp/data/commands/Atlas/ABBA - ABBA Start (alpha).md +24 -0
  20. abba_mcp-0.25.0/src/abba_mcp/data/commands/Atlas/ABBA - ABBA Start.md +23 -0
  21. abba_mcp-0.25.0/src/abba_mcp/data/commands/Atlas/ABBA - Align Big Brains and Atlases (no GUI).md +22 -0
  22. abba_mcp-0.25.0/src/abba_mcp/data/commands/Atlas/ABBA - Close session.md +12 -0
  23. abba_mcp-0.25.0/src/abba_mcp/data/commands/Atlas/ABBA - Start Logging.md +12 -0
  24. abba_mcp-0.25.0/src/abba_mcp/data/commands/Atlas/Create Atlas from Images.md +14 -0
  25. abba_mcp-0.25.0/src/abba_mcp/data/commands/Atlas/List BrainGlobe Atlases.md +16 -0
  26. abba_mcp-0.25.0/src/abba_mcp/data/commands/Atlas/Open Atlas.md +20 -0
  27. abba_mcp-0.25.0/src/abba_mcp/data/commands/Cite/ABBA - Get Prompt for Methods Writing.md +16 -0
  28. abba_mcp-0.25.0/src/abba_mcp/data/commands/Cite/ABBA - How to cite.md +7 -0
  29. abba_mcp-0.25.0/src/abba_mcp/data/commands/DeepSlice/DeepSlice Info.md +7 -0
  30. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Auto Display Range.md +24 -0
  31. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Delete Slices.md +14 -0
  32. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Deselect Slices.md +14 -0
  33. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Distribute Slices.md +12 -0
  34. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Move Slices.md +16 -0
  35. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Raster and cache deformation field.md +14 -0
  36. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Raster slice.md +16 -0
  37. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Rotate.md +16 -0
  38. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Select Slices.md +14 -0
  39. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Set Atlas Slicing Angles.md +20 -0
  40. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Set Key Slices.md +16 -0
  41. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Set Region Of Interest.md +18 -0
  42. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Set Slice Background.md +14 -0
  43. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Set Slices Min Max Display Range.md +18 -0
  44. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Set Slices Thickness (fill gaps).md +12 -0
  45. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Set Slices Thickness.md +14 -0
  46. abba_mcp-0.25.0/src/abba_mcp/data/commands/Edit/ABBA - Undo or Redo.md +14 -0
  47. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export Atlas Coordinates of Original Slices to ImageJ.md +22 -0
  48. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export Atlas to ImageJ.md +24 -0
  49. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export Original Slices to ImageJ.md +22 -0
  50. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export Regions To File.md +20 -0
  51. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export Regions To Roi Manager.md +16 -0
  52. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export Registered Slices to BDV Json Dataset (Experimental).md +16 -0
  53. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export Registered Slices to BDV.md +14 -0
  54. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export Registered Slices to ImageJ.md +30 -0
  55. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export Registrations To QuPath Project.md +14 -0
  56. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export Resampled Slices as BDV Source ( experimental ).md +46 -0
  57. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export Slices To New QuPath Project.md +14 -0
  58. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export Standardized ABBA Project (Zip).md +28 -0
  59. abba_mcp-0.25.0/src/abba_mcp/data/commands/Export/ABBA - Export registered slices as QuickNII dataset.md +26 -0
  60. abba_mcp-0.25.0/src/abba_mcp/data/commands/File/ABBA - Load State.md +18 -0
  61. abba_mcp-0.25.0/src/abba_mcp/data/commands/File/ABBA - Save State.md +18 -0
  62. abba_mcp-0.25.0/src/abba_mcp/data/commands/Help/ABBA - Ask for help in the forum.md +7 -0
  63. abba_mcp-0.25.0/src/abba_mcp/data/commands/Help/ABBA - Check for updates.md +7 -0
  64. abba_mcp-0.25.0/src/abba_mcp/data/commands/Help/ABBA - Give your feedback.md +7 -0
  65. abba_mcp-0.25.0/src/abba_mcp/data/commands/Help/ABBA - Go to documentation.md +7 -0
  66. abba_mcp-0.25.0/src/abba_mcp/data/commands/INDEX.md +87 -0
  67. abba_mcp-0.25.0/src/abba_mcp/data/commands/Import/ABBA - Import Current ImageJ Window.md +16 -0
  68. abba_mcp-0.25.0/src/abba_mcp/data/commands/Import/ABBA - Import QuPath Project.md +18 -0
  69. abba_mcp-0.25.0/src/abba_mcp/data/commands/Import/ABBA - Import QuickNII Project.md +16 -0
  70. abba_mcp-0.25.0/src/abba_mcp/data/commands/Import/ABBA - Import Sources.md +16 -0
  71. abba_mcp-0.25.0/src/abba_mcp/data/commands/Import/ABBA - Import Standardized ABBA Project (Zip).md +12 -0
  72. abba_mcp-0.25.0/src/abba_mcp/data/commands/Import/ABBA - Import With Bio-Formats.md +22 -0
  73. abba_mcp-0.25.0/src/abba_mcp/data/commands/Inspect/ABBA - Get State.md +24 -0
  74. abba_mcp-0.25.0/src/abba_mcp/data/commands/Inspect/ABBA - Snapshot.md +33 -0
  75. abba_mcp-0.25.0/src/abba_mcp/data/commands/Inspect/ABBA - Wait.md +20 -0
  76. abba_mcp-0.25.0/src/abba_mcp/data/commands/Multi Image To Atlas/ABBA - Adjust Slicing.md +19 -0
  77. abba_mcp-0.25.0/src/abba_mcp/data/commands/Multi Image To Atlas/ABBA - Define Rectangular ROI.md +23 -0
  78. abba_mcp-0.25.0/src/abba_mcp/data/commands/Multi Image To Atlas/ABBA - Open Demo Slices From OMERO.md +16 -0
  79. abba_mcp-0.25.0/src/abba_mcp/data/commands/Multi Image To Atlas/ABBA - Open Demo Slices From ZENODO.md +14 -0
  80. abba_mcp-0.25.0/src/abba_mcp/data/commands/Multi Image To Atlas/ABBA - Preferences.md +7 -0
  81. abba_mcp-0.25.0/src/abba_mcp/data/commands/Multi Image To Atlas/ABBA - Run Benchmark.md +22 -0
  82. abba_mcp-0.25.0/src/abba_mcp/data/commands/Obsolete/ABBA - DeepSlice Registration (Local).md +26 -0
  83. abba_mcp-0.25.0/src/abba_mcp/data/commands/Obsolete/ABBA - DeepSlice Registration (Web).md +22 -0
  84. abba_mcp-0.25.0/src/abba_mcp/data/commands/_no_menu/AllenBrainAdultMouseAtlasCCF2017Command.md +13 -0
  85. abba_mcp-0.25.0/src/abba_mcp/data/commands/_no_menu/AllenBrainAdultMouseAtlasCCF2017v3p1ASRCommand.md +8 -0
  86. abba_mcp-0.25.0/src/abba_mcp/data/commands/_no_menu/AllenBrainAdultMouseAtlasCCF2017v3p1Command.md +8 -0
  87. abba_mcp-0.25.0/src/abba_mcp/data/commands/_no_menu/AtlasAdjustDisplayCommand.md +10 -0
  88. abba_mcp-0.25.0/src/abba_mcp/data/commands/_no_menu/DisplaySettingsCommand.md +22 -0
  89. abba_mcp-0.25.0/src/abba_mcp/data/commands/_no_menu/WaxholmSpragueDawleyRatV4Command.md +13 -0
  90. abba_mcp-0.25.0/src/abba_mcp/data/commands/_no_menu/WaxholmSpragueDawleyRatV4p2ASRCommand.md +8 -0
  91. abba_mcp-0.25.0/src/abba_mcp/data/commands/_no_menu/WaxholmSpragueDawleyRatV4p2Command.md +8 -0
  92. abba_mcp-0.25.0/src/abba_mcp/data/environment.md +29 -0
  93. abba_mcp-0.25.0/src/abba_mcp/data/examples/abba_demo_pipeline.groovy +59 -0
  94. abba_mcp-0.25.0/src/abba_mcp/data/guides/abba.md +146 -0
  95. abba_mcp-0.25.0/src/abba_mcp/data/guides/images-and-import.md +44 -0
  96. abba_mcp-0.25.0/src/abba_mcp/data/guides/storage-and-exports.md +44 -0
  97. abba_mcp-0.25.0/src/abba_mcp/data/guides/window.md +192 -0
  98. abba_mcp-0.25.0/src/abba_mcp/data/instructions.md +38 -0
  99. abba_mcp-0.25.0/src/abba_mcp/data/scripting/groovy-steps.md +69 -0
  100. abba_mcp-0.25.0/src/abba_mcp/data/scripting/window_picture.groovy +21 -0
  101. abba_mcp-0.25.0/src/abba_mcp/data/scripting/window_view.groovy +105 -0
  102. abba_mcp-0.25.0/src/abba_mcp/env/jgo.toml +41 -0
  103. abba_mcp-0.25.0/src/abba_mcp/env/logback.xml +7 -0
  104. abba_mcp-0.25.0/src/abba_mcp/env/startmcp.groovy +20 -0
  105. abba_mcp-0.25.0/src/abba_mcp/fiji_tools.json +192 -0
  106. abba_mcp-0.25.0/src/abba_mcp.egg-info/PKG-INFO +123 -0
  107. abba_mcp-0.25.0/src/abba_mcp.egg-info/SOURCES.txt +109 -0
  108. abba_mcp-0.25.0/src/abba_mcp.egg-info/dependency_links.txt +1 -0
  109. abba_mcp-0.25.0/src/abba_mcp.egg-info/entry_points.txt +2 -0
  110. abba_mcp-0.25.0/src/abba_mcp.egg-info/requires.txt +3 -0
  111. abba_mcp-0.25.0/src/abba_mcp.egg-info/top_level.txt +1 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 UNIGE
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,123 @@
1
+ Metadata-Version: 2.4
2
+ Name: abba-mcp
3
+ Version: 0.25.0
4
+ Summary: MCP server for ABBA (Aligning Big Brains and Atlases): an AI assistant registers brain sections to atlases in a pinned Fiji
5
+ Author-email: Nicolas Chiaruttini <nicolas.chiaruttini@unige.ch>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/unige-biochem/abba-mcp
8
+ Project-URL: Issues, https://github.com/unige-biochem/abba-mcp/issues
9
+ Project-URL: Documentation, https://abba-documentation.readthedocs.io
10
+ Keywords: mcp,abba,fiji,imagej,brain atlas,registration,neuroscience
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Topic :: Scientific/Engineering :: Image Processing
16
+ Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
17
+ Requires-Python: >=3.10
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Requires-Dist: mcp<2,>=1.9
21
+ Requires-Dist: jgo[cli]>=3.1
22
+ Requires-Dist: cjdk>=0.5
23
+ Dynamic: license-file
24
+
25
+ # abba-mcp: ABBA for AI assistants (experimental)
26
+
27
+ Lets an AI assistant drive [ABBA](https://abba-documentation.readthedocs.io) (Aligning Big Brains and Atlases) to
28
+ register brain sections to an atlas. The assistant runs ABBA's commands, looks at what they produced, and once the
29
+ result is right saves the session (`.abba` state file) and a Groovy script that replays every step.
30
+
31
+ You can follow along and take over at any time: by default, ABBA's window opens on your screen as usual.
32
+
33
+ It is an [MCP](https://modelcontextprotocol.io) server, so it is not tied to one assistant: it works with any
34
+ application (MCP client) that can start a local MCP server, and any model it offers that calls tools and reads
35
+ images (the assistant looks at pictures of your slices).
36
+
37
+ ## Install
38
+
39
+ You need [uv](https://docs.astral.sh/uv/getting-started/installation/) and an internet connection for the first
40
+ run. Java, Fiji and ABBA are downloaded for you.
41
+
42
+ ### Claude
43
+
44
+ - **Claude Desktop**: download `abba-mcp-<version>.mcpb` from the
45
+ [releases](https://github.com/unige-biochem/abba-mcp/releases) and double-click it.
46
+ - **Claude Code**:
47
+ ```
48
+ claude mcp add abba -- uvx abba-mcp
49
+ ```
50
+
51
+ ### VS Code (GitHub Copilot)
52
+
53
+ [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_ABBA_MCP-0098FF?logo=visualstudiocode)](https://vscode.dev/redirect/mcp/install?name=abba&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22abba-mcp%22%5D%7D)
54
+
55
+ Or, from a terminal: `code --add-mcp '{"name":"abba","command":"uvx","args":["abba-mcp"]}'`.
56
+
57
+ ### OpenAI
58
+
59
+ - **Codex** (CLI, IDE extension), and the **ChatGPT desktop app**, which shares Codex's configuration:
60
+ ```
61
+ codex mcp add abba -- uvx abba-mcp
62
+ ```
63
+ - **ChatGPT on the web** connects to remote MCP servers only: it cannot start this one.
64
+
65
+ ### Any other MCP client
66
+
67
+ The server talks MCP over stdio (protocol versions 2024-11-05 to 2025-11-25): command `uvx`, arguments
68
+ `abba-mcp`. Most applications (Cursor, Gemini CLI...) take this JSON in their MCP settings:
69
+
70
+ ```json
71
+ {
72
+ "mcpServers": {
73
+ "abba": {
74
+ "command": "uvx",
75
+ "args": ["abba-mcp"]
76
+ }
77
+ }
78
+ }
79
+ ```
80
+
81
+ `uvx abba-mcp` runs the latest release; `uvx abba-mcp@0.25.0` a given one (the version is the ABBA it runs).
82
+
83
+ The server gives the assistant its rules and points it to its documentation through the MCP *instructions*.
84
+ Some applications do not pass them on: if the assistant seems not to know how to proceed, ask it to read
85
+ `guides/abba.md` with the `abba_docs_read` tool first.
86
+
87
+ ## First run
88
+
89
+ The first time the assistant uses Fiji, the server downloads Java, Fiji and ABBA, then starts them: allow several
90
+ minutes; later starts are much faster. Meanwhile the assistant is told that Fiji is starting, and tries again. DeepSlice, Elastix and atlases are also downloaded the first time they are
91
+ needed.
92
+
93
+ ## With or without a window
94
+
95
+ - **Window** (default): ABBA opens its window on your screen. You see what the assistant does, can select slices
96
+ for it, and can take over.
97
+ - **Headless**: no window, for servers and remote machines. The assistant shows you snapshots instead, and
98
+ manual registrations are not available. Set the environment variable `ABBA_MCP_HEADLESS=true` for the server:
99
+ `"env": {"ABBA_MCP_HEADLESS": "true"}` next to `"args"` in the JSON, `-e ABBA_MCP_HEADLESS=true` before `--`
100
+ for `claude mcp add`, `--env ABBA_MCP_HEADLESS=true` for `codex mcp add`. In Claude Desktop, turn on
101
+ *Run Fiji without a window* in the extension's settings.
102
+
103
+ ## Privacy
104
+
105
+ What the assistant looks at (snapshots of your slices, the session state, file names) is sent to your AI
106
+ provider, as for anything else you show it. Fiji itself is only reachable from your own computer (port 9090 on
107
+ 127.0.0.1).
108
+
109
+ ## Versions
110
+
111
+ The version is the ABBA version it runs (`0.25.0`), with `.post1`, `.post2`... for a fix of this server alone.
112
+ Every machine gets the same Fiji, ABBA and plugins, and the assistant's documentation is written for exactly that
113
+ version. Your own Fiji installation is not used or modified.
114
+
115
+ ## Troubleshooting
116
+
117
+ - **"The Fiji on port 9090 runs ..."**: another Fiji with an MCP server is already running (your own, or one
118
+ started by another version of this bundle). Close it and ask again.
119
+ - **Fiji does not start**: its log is `fiji.log` in `~/.abba-mcp` (set `ABBA_MCP_HOME` to use another folder).
120
+ - Questions about ABBA itself: the [ABBA documentation](https://abba-documentation.readthedocs.io/en/v0.25.0/) of this version and the
121
+ [image.sc forum](https://forum.image.sc/tag/abba).
122
+
123
+ Developing or releasing this bundle: see [DEVELOPMENT.md](DEVELOPMENT.md).
@@ -0,0 +1,99 @@
1
+ # abba-mcp: ABBA for AI assistants (experimental)
2
+
3
+ Lets an AI assistant drive [ABBA](https://abba-documentation.readthedocs.io) (Aligning Big Brains and Atlases) to
4
+ register brain sections to an atlas. The assistant runs ABBA's commands, looks at what they produced, and once the
5
+ result is right saves the session (`.abba` state file) and a Groovy script that replays every step.
6
+
7
+ You can follow along and take over at any time: by default, ABBA's window opens on your screen as usual.
8
+
9
+ It is an [MCP](https://modelcontextprotocol.io) server, so it is not tied to one assistant: it works with any
10
+ application (MCP client) that can start a local MCP server, and any model it offers that calls tools and reads
11
+ images (the assistant looks at pictures of your slices).
12
+
13
+ ## Install
14
+
15
+ You need [uv](https://docs.astral.sh/uv/getting-started/installation/) and an internet connection for the first
16
+ run. Java, Fiji and ABBA are downloaded for you.
17
+
18
+ ### Claude
19
+
20
+ - **Claude Desktop**: download `abba-mcp-<version>.mcpb` from the
21
+ [releases](https://github.com/unige-biochem/abba-mcp/releases) and double-click it.
22
+ - **Claude Code**:
23
+ ```
24
+ claude mcp add abba -- uvx abba-mcp
25
+ ```
26
+
27
+ ### VS Code (GitHub Copilot)
28
+
29
+ [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_ABBA_MCP-0098FF?logo=visualstudiocode)](https://vscode.dev/redirect/mcp/install?name=abba&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22abba-mcp%22%5D%7D)
30
+
31
+ Or, from a terminal: `code --add-mcp '{"name":"abba","command":"uvx","args":["abba-mcp"]}'`.
32
+
33
+ ### OpenAI
34
+
35
+ - **Codex** (CLI, IDE extension), and the **ChatGPT desktop app**, which shares Codex's configuration:
36
+ ```
37
+ codex mcp add abba -- uvx abba-mcp
38
+ ```
39
+ - **ChatGPT on the web** connects to remote MCP servers only: it cannot start this one.
40
+
41
+ ### Any other MCP client
42
+
43
+ The server talks MCP over stdio (protocol versions 2024-11-05 to 2025-11-25): command `uvx`, arguments
44
+ `abba-mcp`. Most applications (Cursor, Gemini CLI...) take this JSON in their MCP settings:
45
+
46
+ ```json
47
+ {
48
+ "mcpServers": {
49
+ "abba": {
50
+ "command": "uvx",
51
+ "args": ["abba-mcp"]
52
+ }
53
+ }
54
+ }
55
+ ```
56
+
57
+ `uvx abba-mcp` runs the latest release; `uvx abba-mcp@0.25.0` a given one (the version is the ABBA it runs).
58
+
59
+ The server gives the assistant its rules and points it to its documentation through the MCP *instructions*.
60
+ Some applications do not pass them on: if the assistant seems not to know how to proceed, ask it to read
61
+ `guides/abba.md` with the `abba_docs_read` tool first.
62
+
63
+ ## First run
64
+
65
+ The first time the assistant uses Fiji, the server downloads Java, Fiji and ABBA, then starts them: allow several
66
+ minutes; later starts are much faster. Meanwhile the assistant is told that Fiji is starting, and tries again. DeepSlice, Elastix and atlases are also downloaded the first time they are
67
+ needed.
68
+
69
+ ## With or without a window
70
+
71
+ - **Window** (default): ABBA opens its window on your screen. You see what the assistant does, can select slices
72
+ for it, and can take over.
73
+ - **Headless**: no window, for servers and remote machines. The assistant shows you snapshots instead, and
74
+ manual registrations are not available. Set the environment variable `ABBA_MCP_HEADLESS=true` for the server:
75
+ `"env": {"ABBA_MCP_HEADLESS": "true"}` next to `"args"` in the JSON, `-e ABBA_MCP_HEADLESS=true` before `--`
76
+ for `claude mcp add`, `--env ABBA_MCP_HEADLESS=true` for `codex mcp add`. In Claude Desktop, turn on
77
+ *Run Fiji without a window* in the extension's settings.
78
+
79
+ ## Privacy
80
+
81
+ What the assistant looks at (snapshots of your slices, the session state, file names) is sent to your AI
82
+ provider, as for anything else you show it. Fiji itself is only reachable from your own computer (port 9090 on
83
+ 127.0.0.1).
84
+
85
+ ## Versions
86
+
87
+ The version is the ABBA version it runs (`0.25.0`), with `.post1`, `.post2`... for a fix of this server alone.
88
+ Every machine gets the same Fiji, ABBA and plugins, and the assistant's documentation is written for exactly that
89
+ version. Your own Fiji installation is not used or modified.
90
+
91
+ ## Troubleshooting
92
+
93
+ - **"The Fiji on port 9090 runs ..."**: another Fiji with an MCP server is already running (your own, or one
94
+ started by another version of this bundle). Close it and ask again.
95
+ - **Fiji does not start**: its log is `fiji.log` in `~/.abba-mcp` (set `ABBA_MCP_HOME` to use another folder).
96
+ - Questions about ABBA itself: the [ABBA documentation](https://abba-documentation.readthedocs.io/en/v0.25.0/) of this version and the
97
+ [image.sc forum](https://forum.image.sc/tag/abba).
98
+
99
+ Developing or releasing this bundle: see [DEVELOPMENT.md](DEVELOPMENT.md).
@@ -0,0 +1,41 @@
1
+ [build-system]
2
+ requires = ["setuptools>=77"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "abba-mcp"
7
+ version = "0.25.0"
8
+ description = "MCP server for ABBA (Aligning Big Brains and Atlases): an AI assistant registers brain sections to atlases in a pinned Fiji"
9
+ readme = "README.md"
10
+ license = "MIT"
11
+ license-files = ["LICENSE"]
12
+ requires-python = ">=3.10"
13
+ authors = [{ name = "Nicolas Chiaruttini", email = "nicolas.chiaruttini@unige.ch" }]
14
+ keywords = ["mcp", "abba", "fiji", "imagej", "brain atlas", "registration", "neuroscience"]
15
+ classifiers = [
16
+ "Development Status :: 4 - Beta",
17
+ "Intended Audience :: Science/Research",
18
+ "Operating System :: OS Independent",
19
+ "Programming Language :: Python :: 3",
20
+ "Topic :: Scientific/Engineering :: Image Processing",
21
+ "Topic :: Scientific/Engineering :: Medical Science Apps.",
22
+ ]
23
+ dependencies = [
24
+ "mcp>=1.9,<2",
25
+ "jgo[cli]>=3.1",
26
+ "cjdk>=0.5", # the pinned JDK (env/jgo.toml [java]); also a dependency of jgo
27
+ ]
28
+
29
+ [project.urls]
30
+ Homepage = "https://github.com/unige-biochem/abba-mcp"
31
+ Issues = "https://github.com/unige-biochem/abba-mcp/issues"
32
+ Documentation = "https://abba-documentation.readthedocs.io"
33
+
34
+ [project.scripts]
35
+ abba-mcp = "abba_mcp:main"
36
+
37
+ [tool.setuptools.packages.find]
38
+ where = ["src"]
39
+
40
+ [tool.setuptools.package-data]
41
+ "abba_mcp" = ["fiji_tools.json", "env/*", "data/**/*"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+