#mcp server nabox with vscode

1 messages · Page 1 of 1 (latest)

dreamy remnant
#

Connection state: Error Error sending message to http://nabox/mcp: TypeError: fetch failed

#

mcp server nabox with vscode

north sage
#

Try with a trailing slash

dreamy remnant
#

Connection state: Error Error sending message to http://nabox/mcp/: TypeError: fetch failed

#

{
"servers": {
"my-mcp-server-6b676de6": {
"url": "http://nabox/mcp/",
"type": "http"
}
},
"inputs": []
}

#

do we need to pass token or auth ?

dreamy remnant
#

harvest-mcp | time=2025-12-16T095019.453Z level=INFO source=main.go:905 msg="starting MCP server over HTTP transport" address=0.0.0.0:8082 host=0.0.0.0 port=8082
harvest-mcp | time=2025-12-16T095019.453Z level=INFO source=main.go:927 msg="MCP server endpoint available" url=http://0.0.0.0:8082
harvest-mcp | time=2025-12-16T095019.453Z level=INFO source=main.go:928 msg="Server ready to accept connections"

inner raptor
#

in the "Building from Source" section of the documentation does the harvest-mcp:local refer to a docker installation on the NABOX itself?

north sage
#

Yes you have to pass a token generated in the security section in NAbox

#

That's a Bearer token

inner raptor
#

is it better to use a docker container in openshift or local would be just fine

dreamy remnant
#

@inner raptor Thank you ,Yup since it is avaible in NABOX , don't have manged external docker i was using same

#

@north sage Do you have exemple mcp json file ?

inner raptor
#

No, I don't have an example mcp json file, I am just starting to wrap my head around it now.

#

meaning the implementation of the mcp server

tawdry wing
#

@north sage

#

something like below may work

        "harvest-mcp-http-local": {
            "type": "http",
            "url": "http://1.1.1.1/mcp/",
            "headers": {
                "Authorization": "Bearer xyz"
            }
        },
north sage
#

Yep, I have :

{
    "servers": {
        "nabox-lab-france": {
            "url": "http://nabox.fr.netapp.com/mcp/",
            "headers": {"Authorization": "Bearer <BEARER>"},
            "type": "http"
        }
    },
    "inputs": []
}
inner raptor
#

and the MCP server is hitting the monitoring counters in Harvest, it doesn't touch any actual data on the clusters. Right?

north sage
#

Correct, just presenting data that are in the database, it doesn't have any access to the clusters

inner raptor
#

So, because my NABOX doesn't have access to github, I downloaded the zip file and extracted it. The extraction produced harvest-main/harvest-main/mcp folder structure. In the docs I saw that the path is harvest/mcp and I renamed harvest-main to harvest and copied the folder to /home/admin which resulted to a path to the MCP folder like so: /home/admin/harvest/mcp. When I cd to MCP folder and execute docker build command "docker build -f mcp/Dockerfile -t harvest-mcp:local ." I get the following error: [+] Building 0.0s (0/0) docker:default
ERROR: resolve : lstat mcp: no such file or directory

#

Actually after I specified the full path, the build started, but apparently the process goes again to a https source to load docker metadata and my server can't fetch it.

#

nabox-harvest-sdc /home/admin/harvest/mcp # docker buildx build -f /home/admin/harvest/mcp/Dockerfile -t harvest-mcp:local .
[+] Building 30.2s (3/3) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 914B 0.0s
=> CANCELED [internal] load metadata for gcr.io/distroless/static-debian12:debug 30.0s
=> ERROR [internal] load metadata for docker.io/library/golang:1.25.1 30.0s

[internal] load metadata for docker.io/library/golang:1.25.1:


Dockerfile:2

1 | ARG GO_VERSION=1.25.1
2 | >>> FROM golang:${GO_VERSION} AS builder
3 |
4 | SHELL ["/bin/bash", "-c"]

ERROR: failed to solve: DeadlineExceeded: DeadlineExceeded: DeadlineExceeded: golang:1.25.1: failed to resolve source metadata for docker.io/library/golang:1.25.1: failed to do request: Head "https://registry-1.docker.io/v2/library/golang/manifests/1.25.1": dial tcp 18.205.34.3:443: i/o timeout
nabox-harvest-sdc /home/admin/harvest/mcp #

tawdry wing
#

You don't need to build mcp in NABox. It already should have mcp bundled. @north sage

inner raptor
#

then you just need to edit the mcp.json for the integration? Where in the folder structure is the file?

tawdry wing
inner raptor
#

So, I use the syntax in the harvest installation documentation and create the mcp.json file in VS , first start HARVEST_TSDB_URL=http://your-prometheus:9090 /path/to/harvest-mcp/bin/harvest-mcp start --http --port 8082 (I can't find /path/to/harvest-mcp/bin/harvest-mcp to specify it)

inner raptor
#

@north sage When I worked on the MCP integration, I thought that I messed up the NABOX and because I had a snapshot on the VM, I restored it to the previous day snapshot. And I see now that the Grafana lost the historical data. I see the graphs are populating now from scratch. Is there any way to bring the historical data back? I would appreciate your help in that. Thanks!

north sage
#

Restoring from a snapshot broke historical data ? Yes that is weird. Is the time correct ?

inner raptor
#

also I had a clone, which I started and it is the same. The grafana dashboards are starting to plot anew. Where should I look at the time

#

Actually, the historic data is there when selecting earlier than 24 h.

#

Thank you, I have hard time configuring the MCP server and because I deleted the harvest folder I copied manually, I thought that I broke the NABOX. This is how it came to restoring from the snapshot.

north sage
#

If data are actually there, it’s often because of labels change. It could be due to harvest ports that changed but it might be something else. @tawdry wing, you have a magic query to identify those ?

dreamy remnant
#

@north sage i used same code still gettting error TypeError: fetch failed

{
"servers": {
"nabox-lab-france": {
"url": "http://nabox/mcp/",
"headers": {"Authorization": "Bearer <BEARER>"},
"type": "http"
}
},
"inputs": []
}

north sage
#

What would curl say if you test with -v and POST to the url (with trailing slash) with the token in -H ?

#

Let me know if you need the full command.

dreamy remnant
#

it is fixed now, token copy with extra character thank you 🙂

honest geode
#

Could you please let me know how to build a mcp client i have a llm downloaded

tawdry wing