# Serena MCP: the IDE for your agent

> A powerful toolkit for coding, providing semantic retrieval and editing capabilities.

- name: io.github.oraios/serena
- version: 1.5.3
- connection class: L0 (run_local_package)
- trust: 81/100
- quality: –/100 (not scored)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.oraios%2Fserena
- tools: https://api.protogrid.dev/v1/servers/io.github.oraios%2Fserena/tools

**Runs on your machine: something must execute the package.** Only local packages are published (npm, PyPI, OCI, …). The registry never executes them, so tools are unknown until you run it.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "serena": {
      "command": "uvx",
      "args": [
        "-p",
        "3.13",
        "start-mcp-server",
        "--project-from-cwd",
        "--context",
        "desktop-app",
        "serena-agent==1.5.3"
      ]
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: n/a
- freshness: 65
- provenance: 80
- drivers: +repository +namespace-matches-repo ~liveness-unmeasured ~updated-147d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality –/100 (not scored)

Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.

### protocol: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: n/a (weight 30)

- n/a `tools.descriptions`, `tools.description_length`, `tools.schemas`, `tools.annotations`, `tools.directory_hints`, `tools.token_cost`, `tools.api_dump`: tool list unknown (behind auth, not probed, or empty)

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool list unknown

### dependencies: 33 (weight 15)

- fail `deps.known_vulns`: 8 advisories to act on (malicious, or rated high or critical with a fix available): GHSA-537c-gmf6-5ccf in cryptography@46.0.7 (direct, fixed in 48.0.1), GHSA-g6cj-pr64-35w5 in cryptography@46.0.7 (direct, fixed in 50.0.0), GHSA-jwv3-5hgf-82ww in cryptography@46.0.7 (direct, fixed in 49.0.0), ...; 9 more of lower severity or without a fix
- fail `deps.mcp_sdk_version`: mcp 1.27.0 has 4 known advisories (GHSA-84m7-p3x7-pcfv, GHSA-hvrp-rf83-w775, GHSA-jpw9-pfvf-9f58, ...); update mcp to 1.30.0 or later
- pass `deps.resolvable`: serena-agent@1.5.3 resolved: 69 packages

- tools: unknown
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.oraios/serena.svg)](https://protogrid.dev/servers/io.github.oraios/serena)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Dependencies

- pypi serena-agent@1.5.3: resolved, 68 dependencies, MCP SDK mcp 1.27.0
  - GHSA-537c-gmf6-5ccf (high) in `` cryptography@46.0.7 ``, direct, fixed in `` 48.0.1 ``, advisory summary: "Vulnerable OpenSSL included in cryptography wheels" https://osv.dev/vulnerability/GHSA-537c-gmf6-5ccf
  - GHSA-g6cj-pr64-35w5 (high) in `` cryptography@46.0.7 ``, direct, fixed in `` 50.0.0 ``, advisory summary: "cryptography: PKCS\#7 EnvelopedData decryption exposes a Bleichenbacher oracle through distinguishable errors and timing" https://osv.dev/vulnerability/GHSA-g6cj-pr64-35w5
  - GHSA-jwv3-5hgf-82ww (high) in `` cryptography@46.0.7 ``, direct, fixed in `` 49.0.0 ``, advisory summary: "python-cryptography: Duplicate self-signed intermediates can cause exponential path-building" https://osv.dev/vulnerability/GHSA-jwv3-5hgf-82ww
  - GHSA-hvrp-rf83-w775 (high) in `` mcp@1.27.0 ``, direct, fixed in `` 1.27.2 ``, advisory summary: "MCP Python SDK: Experimental task handlers allow any client to access and cancel other clients' tasks" https://osv.dev/vulnerability/GHSA-hvrp-rf83-w775
  - GHSA-jpw9-pfvf-9f58 (high) in `` mcp@1.27.0 ``, direct, fixed in `` 1.27.2 ``, advisory summary: "MCP Python SDK: HTTP transports serve session requests without verifying the authenticated principal" https://osv.dev/vulnerability/GHSA-jpw9-pfvf-9f58
  - GHSA-vj7q-gjh5-988w (high) in `` mcp@1.27.0 ``, direct, fixed in `` 1.28.1 ``, advisory summary: "MCP Python SDK: WebSocket server transport does not support Host/Origin validation" https://osv.dev/vulnerability/GHSA-vj7q-gjh5-988w
  - GHSA-5rvq-cxj2-64vf (high) in `` python-multipart@0.0.27 ``, direct, fixed in `` 0.0.30 ``, advisory summary: "python-multipart: Quadratic-time querystring parsing with semicolon separators causes CPU denial of service" https://osv.dev/vulnerability/GHSA-5rvq-cxj2-64vf
  - GHSA-82w8-qh3p-5jfq (high) in `` starlette@1.0.0 ``, direct, fixed in `` 1.3.1 ``, advisory summary: "Starlette: request.form() limits silently ignored for application/x-www-form-urlencoded enable DoS" https://osv.dev/vulnerability/GHSA-82w8-qh3p-5jfq
  - GHSA-wqp7-x3pw-xc5r (high) in `` starlette@1.0.0 ``, direct, fixed in `` 1.1.0 ``, advisory summary: "Starlette: SSRF and NTLM credential theft via UNC paths in StaticFiles on Windows" https://osv.dev/vulnerability/GHSA-wqp7-x3pw-xc5r
  - GHSA-8988-9cw3-xx77 (high) in `` urllib3@2.7.0 ``, direct, fixed in `` 2.8.0 ``, advisory summary: "urllib3: HTTPS proxy TLS configuration may be ignored or overridden" https://osv.dev/vulnerability/GHSA-8988-9cw3-xx77
  - GHSA-vxq7-64xx-v4gw (high) in `` urllib3@2.7.0 ``, direct, fixed in `` 2.8.0 ``, advisory summary: "urllib3: HTTPResponse.stream()/read\_chunked() buffers an unbounded chunk-size line into memory" https://osv.dev/vulnerability/GHSA-vxq7-64xx-v4gw
  - GHSA-m2h6-j472-rp4c (moderate) in `` cryptography@46.0.7 ``, direct, fixed in `` 49.0.0 ``, advisory summary: "python-cryptography verifier accepts wildcard DNS names allowing escape from permittedSubtrees" https://osv.dev/vulnerability/GHSA-m2h6-j472-rp4c
  - GHSA-84m7-p3x7-pcfv (moderate) in `` mcp@1.27.0 ``, direct, fixed in `` 1.30.0 ``, advisory summary: "MCP Python SDK: Unbounded Session Accumulation in StreamableHTTP Transport Enables Resource Exhaustion" https://osv.dev/vulnerability/GHSA-84m7-p3x7-pcfv
  - GHSA-86qp-5c8j-p5mr (moderate) in `` starlette@1.0.0 ``, direct, fixed in `` 1.0.1 ``, advisory summary: "Starlette has missing Host header validation that poisons request.url.path, bypassing path-based security checks" https://osv.dev/vulnerability/GHSA-86qp-5c8j-p5mr
  - GHSA-x746-7m8f-x49c (moderate) in `` starlette@1.0.0 ``, direct, fixed in `` 1.1.0 ``, advisory summary: "Starlette: Arbitrary HTTP method dispatched to \`HTTPEndpoint\` attributes via \`getattr\`" https://osv.dev/vulnerability/GHSA-x746-7m8f-x49c
  - GHSA-gh4c-6fx4-qh6g (moderate) in `` urllib3@2.7.0 ``, direct, fixed in `` 2.8.0 ``, advisory summary: "urllib3: Chunked Deflate streaming can enter an infinite loop" https://osv.dev/vulnerability/GHSA-gh4c-6fx4-qh6g
  - GHSA-g6x2-hccm-hh4m (moderate) in `` werkzeug@3.1.7 ``, direct, fixed in `` 3.1.9 ``, advisory summary: "Werkzeug safe\_join() allows Windows special device names" https://osv.dev/vulnerability/GHSA-g6x2-hccm-hh4m
  - GHSA-6jv3-5f52-599m (low) in `` python-multipart@0.0.27 ``, direct, fixed in `` 0.0.30 ``, advisory summary: "python-multipart: Semicolon treated as querystring field separator enables parameter smuggling" https://osv.dev/vulnerability/GHSA-6jv3-5f52-599m
  - GHSA-v9pg-7xvm-68hf (low) in `` python-multipart@0.0.27 ``, direct, fixed in `` 0.0.31 ``, advisory summary: "python-multipart: Negative Content-Length in parse\_form buffers the entire body in memory" https://osv.dev/vulnerability/GHSA-v9pg-7xvm-68hf
  - GHSA-vffw-93wf-4j4q (low) in `` python-multipart@0.0.27 ``, direct, fixed in `` 0.0.30 ``, advisory summary: "python-multipart: Content-Disposition parameter smuggling via RFC 2231/5987 extended parameters" https://osv.dev/vulnerability/GHSA-vffw-93wf-4j4q
  - GHSA-jp82-jpqv-5vv3 (low) in `` starlette@1.0.0 ``, direct, fixed in `` 1.3.0 ``, advisory summary: "Starlette: Unvalidated request path concatenated into authority poisons request.url.hostname" https://osv.dev/vulnerability/GHSA-jp82-jpqv-5vv3

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

_none_

## Packages

- pypi serena-agent@1.5.3

## Tools (0)

_none observed_
