You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[Detailed Usage and Recommendations](#detailed-usage-and-recommendations)
@@ -170,68 +171,89 @@ We thus built Serena with the prospect of being able to cancel most other subscr
170
171
171
172
Serena can be used in various ways, below you will find instructions for selected integrations.
172
173
173
-
- If you just want to turn Claude into a free-to-use coding agent, we recommend using Serena through Claude Desktop.
174
-
- If you want to use Gemini or any other model and you want a GUI experience, you should use [Agno](#agno-agent). On macOS you can also use the GUI of [goose](#goose).
175
-
- If you prefer using Serena through a CLI, you can use [goose](#goose). There again almost any model is possible.
174
+
- If you just want to turn Claude into a free-to-use coding agent, we recommend using Serena through [Claude Code](#claude-code) or [Claude Desktop](#claude-desktop).
175
+
- If you want to use Gemini or any other model, and you want a GUI experience, you can use [Agno](#agno-agent). On macOS, you can also use the GUI of [goose](#goose).
176
176
- If you want to use Serena integrated in your IDE, see the section on [other MCP clients](#other-mcp-clients---cline-roo-code-cursor-windsurf-etc).
177
177
178
178
Serena is managed by `uv`, so you will need to [install it](https://docs.astral.sh/uv/getting-started/installation/)).
179
179
180
-
### Claude Code
181
-
182
-
Serena is a great way to make Claude Code both cheaper and more powerful! We are collecting
183
-
several examples for that and have heard very positive feedback so far. Claude Code users can
You have several options for running the MCP server, which are explained in the subsections below.
198
183
184
+
The typical usage involves the client (Claude Code, Claude Desktop, etc.) running
185
+
the MCP server as a subprocess (using stdio communication),
186
+
so the client needs to be provided with the command to run the MCP server.
187
+
(Alternatively, you can run the MCP server in SSE mode and tell your client
188
+
how to connect to it.)
199
189
200
-
### General Setup
190
+
Note that no matter how you run the MCP server, Serena will, by default, start a small web-based dashboard on localhost that will display logs and allow shutting down the
191
+
MCP server (since many clients fail to clean up processes correctly).
192
+
This and other settings can be adjusted in the [configuration](#configuration) and/or by providing [command-line arguments](#command-line-arguments).
201
193
202
-
You can either
194
+
#### Local Installation
203
195
204
-
1. Clone the repository and cd into it.
196
+
1. Clone the repository and change into it.
197
+
```shell
198
+
git clone https://github.com/oraios/serena
199
+
cd serena
200
+
```
205
201
2. Optionally create a config file from the template and adjust it according to your preferences.
in your MCP config (delete the `.exe` on macOS or Linux).
228
+
#### Using Docker (Experimental)
218
229
219
-
You can now add Serena to your MCP client as described below for various clients and
220
-
[activate your first project](#project-activation). For larger projects, we recommend that you first index them
221
-
to accelerate Serena's tools on the first usage.
230
+
⚠️ Docker support is currently experimental with several limitations. Please read the [Docker documentation](DOCKER.md) for important caveats before using it.
231
+
232
+
You can run the Serena MCP server directly via docker as follows,
233
+
assuming that the projects you want to work on are all located in`/path/to/your/projects`:
Serena is a great way to make Claude Code both cheaper and more powerful!
290
311
291
-
⚠️ **EXPERIMENTAL**: Docker support is currently experimental with several limitations. Please read the [Docker documentation](DOCKER.md) for important caveats before using.
312
+
From your project directory, add serena with a command like this,
292
313
293
-
Alternatively, you can run Serena using Docker:
314
+
```shell
315
+
claude mcp add serena -- <serena-mcp-server> --context ide-assistant --project $(pwd)
@@ -356,11 +395,6 @@ community version](https://github.com/aaddrick/claude-desktop-debian).
356
395
357
396
After restarting, you should see Serena's tools in your chat interface (notice the small hammer icon).
358
397
359
-
⚠️ Tool Names: Claude Desktop (and most MCP Clients) don't resolve the name of the server. So you shouldn't
360
-
say something like "use Serena's tools". Instead, you can instruct the LLM to use symbolic tools or to
361
-
use a particular tool by referring to its name. Moreover, in some clients, if you use multiple MCP Servers, you might get
362
-
**tool name collisions** which lead to undefined behavior.
363
-
364
398
ℹ️ Note that MCP servers which use stdio as a protocol are somewhat unusual as far as client/server architectures go, as the server
365
399
necessarily has to be started by the client in order for communication to take place via the server's standard input/output stream.
366
400
In other words, you do not need to start the server yourself. The client application (e.g. Claude Desktop) takes care of this and
@@ -384,33 +418,6 @@ e.g., for one of the following reasons:
384
418
2. You are on Linux and don't want to use the [community-created Claude Desktop](https://github.com/aaddrick/claude-desktop-debian)
385
419
3. You want tighter integration of Serena into your IDE and don't mind paying for that
386
420
387
-
### Goose
388
-
389
-
[goose](https://github.com/block/goose) is a standalone coding agent which has an integration for MCP servers and offers a CLI (as well as a GUI on macOS).
390
-
Using goose is currently the simplest way of running Serena through a CLI-based UI with an LLM of your choice.
391
-
392
-
Follow the instructions [here](https://block.github.io/goose/docs/getting-started/installation/) to install it.
393
-
394
-
After that, use `goose configure` to add an extension. For adding Serena, choose the option `Command-line Extension`, name it `Serena` and add the following as command:
395
-
396
-
```
397
-
/abs/path/to/uv run --directory /abs/path/to/serena serena-mcp-server --project /optional/abs/path/to/project
398
-
```
399
-
400
-
Since Serena can do all necessary editing and command operations, you should disable the `developer` extension that goose enables by default.
401
-
For that execute
402
-
403
-
```shell
404
-
goose configure
405
-
```
406
-
again, choose the option `Toggle Extensions`, and make sure Serena is enabled selected while `developer` is not.
407
-
408
-
That's it. Read through the configuration options of goose to see what you can do with it (which is a lot, like setting different levels of permissions for tool execution).
409
-
410
-
> Goose does not seem to always properly terminate python processes for MCP servers when a session ends.
411
-
> You may want to disable the Serena GUI and/or to manually cleanup any running python processes after finishing your work
412
-
> with goose.
413
-
414
421
### Agno Agent
415
422
416
423
Agno is a model-agnostic agent framework that allows you to turn Serena into an agent
0 commit comments