Merge remote-tracking branch 'origin/main' into v1-beta

This commit is contained in:
Dominik Jain authored and Dominik Jain committed 2026-04-02 17:37:53 +02:00
commit bcfec97941
6 files changed
+36 -29

No files matched your search

+1 -1
View File
@@ -106,7 +106,7 @@ See our [documentation page](https://oraios.github.io/serena/02-usage/025_jetbra
Issue this command to see available options:
```bash
uvx --from git+https://github.com/oraios/serena serena start-mcp-server --help
uvx -p 3.13 --from git+https://github.com/oraios/serena serena start-mcp-server --help
```
**Configuring Your Client**. To connect Serena to your preferred MCP client, you typically need to [configure a launch command in your client](https://oraios.github.io/serena/02-usage/030_clients.html).
+3 -3
View File
@@ -21,7 +21,7 @@ In general, to get help, append `--help` to the command, i.e.
`uvx` is part of `uv`. It can be used to run the latest version of Serena directly from the repository, without an explicit local installation.
uvx --from git+https://github.com/oraios/serena serena
uvx -p 3.13 --from git+https://github.com/oraios/serena serena
Explore the CLI to see some of the customization options that serena provides (more info on them below).
@@ -124,7 +124,7 @@ case, you can simply run the `start-mcp-server` command without any additional o
For example, to run the server in stdio mode via `uvx`, you would run:
uvx --from git+https://github.com/oraios/serena serena start-mcp-server
uvx -p 3.13 --from git+https://github.com/oraios/serena serena start-mcp-server
See the section ["Configuring Your MCP Client"](030_clients) for specific information on how to configure your MCP client (e.g. Claude Code, Codex, Cursor, etc.)
to use such a launch command.
@@ -143,7 +143,7 @@ via the `--port` option.
For example, to run the Serena MCP server in streamable HTTP mode on port 9121 using uvx,
you would run
uvx --from git+https://github.com/oraios/serena serena start-mcp-server --transport streamable-http --port 9121
uvx -p 3.13 --from git+https://github.com/oraios/serena serena start-mcp-server --transport streamable-http --port 9121
and then configure your client to connect to `http://localhost:9121/mcp`.
+20 -17
View File
@@ -79,7 +79,7 @@ Serena is a great way to make Claude Code both cheaper and more powerful!
use this command:
```shell
claude mcp add serena -- uvx --from git+https://github.com/oraios/serena serena start-mcp-server --context claude-code --project "$(pwd)"
claude mcp add serena -- uvx -p 3.13 --from git+https://github.com/oraios/serena serena start-mcp-server --context claude-code --project "$(pwd)"
```
Note:
@@ -92,7 +92,7 @@ Note:
**Global Configuration**. Alternatively, use `--project-from-cwd` for user-level configuration that works across all projects:
```shell
claude mcp add --scope user serena -- uvx --from git+https://github.com/oraios/serena serena start-mcp-server --context=claude-code --project-from-cwd
claude mcp add --scope user serena -- uvx -p 3.13 --from git+https://github.com/oraios/serena serena start-mcp-server --context=claude-code --project-from-cwd
```
Whenever you start Claude Code, Serena will search up from the current directory for `.serena/project.yml` or `.git` markers,
@@ -128,6 +128,8 @@ While serena can be directly installed from the GitHub MCP server registry, we r
"type": "stdio",
"command": "uvx",
"args": [
"-p",
"3.13",
"--from",
"git+https://github.com/oraios/serena",
"serena",
@@ -153,25 +155,18 @@ For example, when using `uvx`, add the following section:
```toml
[mcp_servers.serena]
startup_timeout_sec = 25
command = "uvx"
args = ["--from", "git+https://github.com/oraios/serena", "serena", "start-mcp-server", "--context", "codex"]
args = ["-p", "3.13", "--from", "git+https://github.com/oraios/serena", "serena", "start-mcp-server", "--project-from-cwd", "--context", "codex"]
```
After codex has started, you need to activate the project, which you can do by saying:
The larger startup timeout is to permit uvx to download the necessary dependencies. Once downloaded, the startup time is much faster.
> Call serena.activate_project, serena.check_onboarding_performed and serena.initial_instructions
**If you don't activate the project, you will not be able to use Serena's tools!**
It is recommend to set this prompt as a [custom prompt](https://developers.openai.com/codex/custom-prompts), so you don't need to type this every time.
That's it! Have a look at `~/.codex/log/codex-tui.log` to see if any errors occurred.
Serena's dashboard will run if you have not disabled it in the configuration, but due to Codex's sandboxing, the web browser
may not open automatically. You can open it manually by going to `http://localhost:24282/dashboard/index.html` (or a higher port, if
that was already taken).
> Codex will often show the tools as `failed` even though they are successfully executed. This is not a problem, seems to be a bug in Codex. Despite the error message, everything works as expected.
:::{attention}
Codex currently ignores the [instructions](https://blog.modelcontextprotocol.io/posts/2025-11-03-using-server-instructions/)
property of MCP servers, so it is recommended to prompt the agent to
"read initial instructions for Serena" when starting your session, e.g. by mentioning this in your `AGENT.md`.
:::
## Claude Desktop
@@ -189,6 +184,8 @@ Add the `serena` MCP server configuration
"serena": {
"command": "uvx",
"args": [
"-p",
"3.13",
"--from",
"git+https://github.com/oraios/serena",
"serena",
@@ -225,6 +222,8 @@ MCP server configuration:
"serena": {
"command": "uvx",
"args": [
"-p",
"3.13",
"--from",
"git+https://github.com/oraios/serena",
"serena",
@@ -253,6 +252,8 @@ Go to Settings / Tools / AI Assistant / MCP and add a new **local** configuratio
"serena": {
"command": "uvx",
"args": [
"-p",
"3.13",
"--from",
"git+https://github.com/oraios/serena",
"serena",
@@ -279,6 +280,8 @@ Add this configuration:
"serena": {
"command": "uvx",
"args": [
"-p",
"3.13",
"--from",
"git+https://github.com/oraios/serena",
"serena",
+2 -2
View File
@@ -29,7 +29,7 @@ To explicitly create a project, use the following command while in the project d
For instance, when using `uvx`, run
uvx --from git+https://github.com/oraios/serena serena project create [options]
uvx -p 3.13 --from git+https://github.com/oraios/serena serena project create [options]
* For an empty project, you will need to specify the programming language
(e.g., `--language python`).
@@ -201,7 +201,7 @@ Depending on the language backend being used, the management of resources for th
where `<serena>` is your way of running Serena. For example, when using `uvx`, run
uvx --from git+https://github.com/oraios/serena serena start-project-server
uvx -p 3.13 --from git+https://github.com/oraios/serena serena start-project-server
### Multiple Agents Accessing a Single Serena Instance
+2 -2
View File
@@ -17,7 +17,7 @@ Run the following command to launch Serena as http server (assuming port 8000):
```bash
uvx mcpo --port 8000 --api-key <YOUR_SECRET_KEY> -- \
uvx --from git+https://github.com/oraios/serena \
uvx -p 3.13 --from git+https://github.com/oraios/serena \
serena start-mcp-server --context chatgpt --project $(pwd)
```
@@ -28,7 +28,7 @@ You can also use other options, and you don't have to pass `--project` if you wa
or want to activate it later. See
```shell
uvx --from git+https://github.com/oraios/serena serena start-mcp-server --help
uvx -p 3.13 --from git+https://github.com/oraios/serena serena start-mcp-server --help
```
---
+8 -4
View File
@@ -165,10 +165,14 @@ class GitignoreParser:
def scan(abs_path: str | None) -> Iterator[str]:
for entry in os.scandir(abs_path):
if entry.is_dir(follow_symlinks=follow_symlinks):
queue.append(entry.path)
elif entry.is_file(follow_symlinks=follow_symlinks) and entry.name == ".gitignore":
yield entry.path
try:
if entry.is_dir(follow_symlinks=follow_symlinks):
queue.append(entry.path)
elif entry.is_file(follow_symlinks=follow_symlinks) and entry.name == ".gitignore":
yield entry.path
except PermissionError as ex:
log.debug(f"Skipping entry due to permission error: {entry.path}", exc_info=ex)
continue
while queue:
next_abs_path = queue.pop(0)