Audiobookshelf MCP for VS Code
io.github.jeeftor/abs-mcp
Inspect and safely operate Audiobookshelf libraries over MCP.
client:VS Code
transport:stdio
runtime:oci
Install Audiobookshelf MCP in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "abs-base-url",
"description": "ABS_BASE_URL",
"password": true
},
{
"type": "promptString",
"id": "abs-api-key",
"description": "ABS_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "abs-read-only",
"description": "ABS_READ_ONLY",
"password": true
},
{
"type": "promptString",
"id": "abs-timeout",
"description": "ABS_TIMEOUT",
"password": true
},
{
"type": "promptString",
"id": "abs-fixture-dir",
"description": "ABS_FIXTURE_DIR",
"password": true
},
{
"type": "promptString",
"id": "abs-extra-headers-file",
"description": "ABS_EXTRA_HEADERS_FILE",
"password": true
},
{
"type": "promptString",
"id": "abs-tls-ca-cert-file",
"description": "ABS_TLS_CA_CERT_FILE",
"password": true
},
{
"type": "promptString",
"id": "abs-tls-insecure-skip-verify",
"description": "ABS_TLS_INSECURE_SKIP_VERIFY",
"password": true
},
{
"type": "promptString",
"id": "abs-transport",
"description": "ABS_TRANSPORT",
"password": true
},
{
"type": "promptString",
"id": "abs-http-addr",
"description": "ABS_HTTP_ADDR",
"password": true
},
{
"type": "promptString",
"id": "abs-http-path",
"description": "ABS_HTTP_PATH",
"password": true
},
{
"type": "promptString",
"id": "abs-http-bearer-token",
"description": "ABS_HTTP_BEARER_TOKEN",
"password": true
}
],
"servers": {
"abs-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/jeeftor/abs-mcp:0.6.0"
],
"env": {
"ABS_BASE_URL": "${input:abs-base-url}",
"ABS_API_KEY": "${input:abs-api-key}",
"ABS_READ_ONLY": "${input:abs-read-only}",
"ABS_TIMEOUT": "${input:abs-timeout}",
"ABS_FIXTURE_DIR": "${input:abs-fixture-dir}",
"ABS_EXTRA_HEADERS_FILE": "${input:abs-extra-headers-file}",
"ABS_TLS_CA_CERT_FILE": "${input:abs-tls-ca-cert-file}",
"ABS_TLS_INSECURE_SKIP_VERIFY": "${input:abs-tls-insecure-skip-verify}",
"ABS_TRANSPORT": "${input:abs-transport}",
"ABS_HTTP_ADDR": "${input:abs-http-addr}",
"ABS_HTTP_PATH": "${input:abs-http-path}",
"ABS_HTTP_BEARER_TOKEN": "${input:abs-http-bearer-token}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs