Model Context Protocol in OCaml

Add upper bound on yojson

With yojson 3.0.0 fails with
```
File "vendor/ocaml-mcp/lib/mcp_server.ml", line 303, characters 43-47:
303 | let text = Yojson.Safe.to_string json in
^^^^
Error: The value json has type
[> `Assoc of (string * [> `Bool of 'a | `List of Json.t list ]) list
]
but an expression was expected of type
Yojson.Safe.t =
[ `Assoc of (string * Yojson.Safe.t) list
| `Bool of bool
| `Float of float
| `Int of int
| `Intlit of string
| `List of Yojson.Safe.t list
| `Null
| `String of string ]
Type [> `Bool of 'a | `List of Json.t list ]
is not compatible with type
Yojson.Safe.t =
[ `Assoc of (string * Yojson.Safe.t) list
| `Bool of bool
| `Float of float
| `Int of int
| `Intlit of string
| `List of Yojson.Safe.t list
| `Null
| `String of string ]
Type
Json.t =
[ `Assoc of (string * Json.t) list
| `Bool of bool
| `Float of float
| `Int of int
| `Intlit of string
| `List of Json.t list
| `Null
| `String of string
| `Tuple of Json.t list
| `Variant of string * Json.t option ]
is not compatible with type
Yojson.Safe.t =
[ `Assoc of (string * Yojson.Safe.t) list
| `Bool of bool
| `Float of float
| `Int of int
| `Intlit of string
| `List of Yojson.Safe.t list
| `Null
| `String of string ]
The second variant type does not allow tag(s) `Tuple, `Variant
```
(ocaml-lsp-server already had this upper bound so you can notice the
issue only when it is not present)

Signed-off-by: Marcello Seri <marcello.seri@gmail.com>

Changed files
+2
+1
dune-project
···
(depends
(ocaml (>= "5.2.0"))
jsonrpc
+
(yojson (< "3.0.0"))
http
cohttp-eio
eio_main
+1
mcp.opam
···
"dune" {>= "3.17"}
"ocaml" {>= "5.2.0"}
"jsonrpc"
+
"yojson" {< "3.0.0"}
"http"
"cohttp-eio"
"eio_main"