#mcp server nabox with vscode
1 messages · Page 1 of 1 (latest)
Try with a trailing slash
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 ?
harvest-mcp | time=2025-12-16T09
19.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-16T09
19.453Z level=INFO source=main.go:927 msg="MCP server endpoint available" url=http://0.0.0.0:8082
harvest-mcp | time=2025-12-16T09
19.453Z level=INFO source=main.go:928 msg="Server ready to accept connections"
in the "Building from Source" section of the documentation does the harvest-mcp:local refer to a docker installation on the NABOX itself?
Yes you have to pass a token generated in the security section in NAbox
That's a Bearer token
is it better to use a docker container in openshift or local would be just fine
@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 ?
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
@north sage
something like below may work
"harvest-mcp-http-local": {
"type": "http",
"url": "http://1.1.1.1/mcp/",
"headers": {
"Authorization": "Bearer xyz"
}
},
Yep, I have :
{
"servers": {
"nabox-lab-france": {
"url": "http://nabox.fr.netapp.com/mcp/",
"headers": {"Authorization": "Bearer <BEARER>"},
"type": "http"
}
},
"inputs": []
}
and the MCP server is hitting the monitoring counters in Harvest, it doesn't touch any actual data on the clusters. Right?
Correct, just presenting data that are in the database, it doesn't have any access to the clusters
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 #
You don't need to build mcp in NABox. It already should have mcp bundled. @north sage
then you just need to edit the mcp.json for the integration? Where in the folder structure is the file?
These instructions are to use mcp with copilot plugin for example in vscode.
https://netapp.github.io/harvest/latest/mcp/installation/#configure-in-mcpjson
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)
@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!
Restoring from a snapshot broke historical data ? Yes that is weird. Is the time correct ?
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.
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 ?
@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": []
}
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.
curl -X POST -v --head -H "Authorization: Bearer <token >" http://nabox/mcp/
it is fixed now, token copy with extra character thank you 🙂
Could you please let me know how to build a mcp client i have a llm downloaded