docs: add JSON MCP configuration examples
This commit is contained in:
@@ -149,6 +149,82 @@ Restart Hermes Agent after editing `~/.hermes/config.yaml`.
|
|||||||
An equivalent ready-to-copy snippet is available at
|
An equivalent ready-to-copy snippet is available at
|
||||||
[`examples/hermes-openherbarium-uvx.yaml`](examples/hermes-openherbarium-uvx.yaml).
|
[`examples/hermes-openherbarium-uvx.yaml`](examples/hermes-openherbarium-uvx.yaml).
|
||||||
|
|
||||||
|
### JSON setup examples
|
||||||
|
|
||||||
|
Some MCP clients use a JSON config file instead of YAML. Ready-to-copy JSON
|
||||||
|
examples are provided in [`examples/`](examples/):
|
||||||
|
|
||||||
|
| Client / use case | Example file | Notes |
|
||||||
|
|---|---|---|
|
||||||
|
| Hermes-style JSON | [`examples/hermes-mcp.json`](examples/hermes-mcp.json) | Same structure as Hermes `mcp_servers`, but JSON. Useful if you keep MCP snippets in a separate `mcp.json` before converting/merging into `config.yaml`. |
|
||||||
|
| Generic MCP clients | [`examples/generic-mcp.json`](examples/generic-mcp.json) | Uses the common `mcpServers` JSON key. |
|
||||||
|
| Claude Desktop / Claude Code-style configs | [`examples/claude-desktop-mcp.json`](examples/claude-desktop-mcp.json) | Copy the `openherbarium` entry under your existing `mcpServers`. |
|
||||||
|
| Cursor | [`examples/cursor-mcp.json`](examples/cursor-mcp.json) | Copy into Cursor's MCP configuration when it expects `mcpServers`. |
|
||||||
|
| Windsurf | [`examples/windsurf-mcp.json`](examples/windsurf-mcp.json) | Copy into Windsurf's MCP configuration when it expects `mcpServers`. |
|
||||||
|
| Local development checkout | [`examples/local-dev-mcp.json`](examples/local-dev-mcp.json) | Uses `uv --directory /absolute/path/to/openherbarium-mcp run openherbarium-mcp`. |
|
||||||
|
|
||||||
|
Hermes JSON-style snippet:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mcp_servers": {
|
||||||
|
"openherbarium": {
|
||||||
|
"command": "uvx",
|
||||||
|
"args": [
|
||||||
|
"--from",
|
||||||
|
"git+https://git.home-deneuville.fr/Edern/openherbarium-mcp.git",
|
||||||
|
"openherbarium-mcp"
|
||||||
|
],
|
||||||
|
"timeout": 120,
|
||||||
|
"connect_timeout": 60
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Generic `mcp.json` snippet used by many MCP clients:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"openherbarium": {
|
||||||
|
"command": "uvx",
|
||||||
|
"args": [
|
||||||
|
"--from",
|
||||||
|
"git+https://git.home-deneuville.fr/Edern/openherbarium-mcp.git",
|
||||||
|
"openherbarium-mcp"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
If your client supports environment variables in MCP server definitions, you can
|
||||||
|
enable targeted Firecrawl search like this:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"openherbarium": {
|
||||||
|
"command": "uvx",
|
||||||
|
"args": [
|
||||||
|
"--from",
|
||||||
|
"git+https://git.home-deneuville.fr/Edern/openherbarium-mcp.git",
|
||||||
|
"openherbarium-mcp"
|
||||||
|
],
|
||||||
|
"env": {
|
||||||
|
"FIRECRAWL_API_URL": "http://localhost:3002",
|
||||||
|
"FIRECRAWL_API_KEY": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Client-specific file locations change between applications and versions. When in
|
||||||
|
doubt, use the app's MCP settings screen and paste the `openherbarium` server
|
||||||
|
entry under its existing `mcpServers` object.
|
||||||
|
|
||||||
### Development install with `uv`
|
### Development install with `uv`
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"openherbarium": {
|
||||||
|
"command": "uvx",
|
||||||
|
"args": [
|
||||||
|
"--from",
|
||||||
|
"git+https://git.home-deneuville.fr/Edern/openherbarium-mcp.git",
|
||||||
|
"openherbarium-mcp"
|
||||||
|
],
|
||||||
|
"timeout": 120,
|
||||||
|
"connect_timeout": 60
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"openherbarium": {
|
||||||
|
"command": "uvx",
|
||||||
|
"args": [
|
||||||
|
"--from",
|
||||||
|
"git+https://git.home-deneuville.fr/Edern/openherbarium-mcp.git",
|
||||||
|
"openherbarium-mcp"
|
||||||
|
],
|
||||||
|
"timeout": 120,
|
||||||
|
"connect_timeout": 60
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"openherbarium": {
|
||||||
|
"command": "uvx",
|
||||||
|
"args": [
|
||||||
|
"--from",
|
||||||
|
"git+https://git.home-deneuville.fr/Edern/openherbarium-mcp.git",
|
||||||
|
"openherbarium-mcp"
|
||||||
|
],
|
||||||
|
"timeout": 120,
|
||||||
|
"connect_timeout": 60
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"mcp_servers": {
|
||||||
|
"openherbarium": {
|
||||||
|
"command": "uvx",
|
||||||
|
"args": [
|
||||||
|
"--from",
|
||||||
|
"git+https://git.home-deneuville.fr/Edern/openherbarium-mcp.git",
|
||||||
|
"openherbarium-mcp"
|
||||||
|
],
|
||||||
|
"timeout": 120,
|
||||||
|
"connect_timeout": 60
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"openherbarium": {
|
||||||
|
"command": "uv",
|
||||||
|
"args": [
|
||||||
|
"--directory",
|
||||||
|
"/absolute/path/to/openherbarium-mcp",
|
||||||
|
"run",
|
||||||
|
"openherbarium-mcp"
|
||||||
|
],
|
||||||
|
"timeout": 120,
|
||||||
|
"connect_timeout": 60
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"openherbarium": {
|
||||||
|
"command": "uvx",
|
||||||
|
"args": [
|
||||||
|
"--from",
|
||||||
|
"git+https://git.home-deneuville.fr/Edern/openherbarium-mcp.git",
|
||||||
|
"openherbarium-mcp"
|
||||||
|
],
|
||||||
|
"timeout": 120,
|
||||||
|
"connect_timeout": 60
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user