−25%

på Windows vid årsbetalning, till 31/10. Till paketen

EQVPS
Kom igång

MCP-skyddsräcken: säkra behörigheter för AI-agenter

Innan du ger en AI-agent en token till dina servrar bör du veta exakt vad den kan röra. Alla 45 MCP-verktyg hos EQVPS per risknivå, gränserna som servern upprätthåller och upplägget vi själva skulle välja.

Senast kontrollerad: 2026-10-04 · MCP-server 1.6.0 · 45 verktyg (kundtoken)

En MCP-token är ditt kontolösenord med ett API kopplat till sig. Ge den till en agent så har du en användare som aldrig blir trött, läser varje sida du pekar den mot och gör exakt det som den senaste instruktionen i dess kontext sa. För det mesta är det precis vad du vill. Den här sidan handlar om resten av tiden.

Allt nedan är kontrollerat mot den skarpa servern på datumet överst: verktygslistan kommer från tools/list på https://mcp.eqvps.com/mcp, gränserna från själva API:et. Är du ny, läs först ansluta en MCP-klient och API-tokens och kom sedan tillbaka.

Hotmodell: vad som faktiskt går fel

Tre saker, i den ordning vi ser dem:

  1. Agenten missförstår. "Städa testmaskinen" blir en ominstallation av fel server. Ingen illvilja, bara en modell som fyller ett hål i instruktionen.
  2. Promptinjektion. Agenten läser text som du inte skrivit (en README, ett supportsvar, en skrapad sida) och den texten säger åt den att göra något. Har agenten en token med fulla rättigheter, har den injicerade instruktionen det också.
  3. Token läcker. Den hamnar i en skalhistorik, ett publikt repo, en delad MCP-konfiguration eller en loggrad.

MCP-servern kontrollerar att token är giltig och att servern tillhör det kontot (eller är delegerad till det). Vad du menade vet den inte. Varje skyddsräcke nedan svarar på en enda fråga: hur stor skada är möjlig när instruktionen är fel?

Alla MCP-verktyg efter risknivå

En kundtoken ser 45 verktyg (MCP-server 1.6.0). En återförsäljartoken (rk_…) ser en separat uppsättning med 30 återförsäljarverktyg och inga av dessa, så endpointen har 75 totalt. Din klient får bara sin egen uppsättning från tools/list.

Den här sidan sorterar verktygen efter risk. Parametrar och exempelanrop för varje verktyg finns i parameterreferensen; alla verktyg på en rad, inklusive de 30 återförsäljarverktygen, finns i den fullständiga listan.

Vi skickar ännu inte med MCP-verktygsannoteringar (readOnlyHint, destructiveHint), så din klient kan inte sortera dem själv. Ställ in godkännanden för hand utifrån nivåerna nedan.

Nivå 0 — publika, ingen token (5)

VerktygVad det gör
get_startedHela flödet i ett svar: vilka verktyg i vilken ordning
list_plansPlaner, priser, OS-avbilder
sandbox_pricingSandlådepriser
register_accountSkapar ett nytt konto och returnerar dess token
loginE-post + lösenord → token

Nivå 1 — läsa kontot, inga sidoeffekter (15)

VerktygVad det görSe upp med
whoamiKonto-id, namn, e-post
get_balanceFörbetalt saldo
list_vpsAktiva servrar, servrar under uppsättning och spärrade servrar
get_vps_statusStatus, specifikationer, åtkomstuppgifterMed reveal: true returneras root-lösenordet
get_vps_metricsCPU, minne, nätverk, disk över tid
get_upgrade_optionsPlaner som servern kan byta till utan ominstallation
list_delegationsVem du har gett åtkomst
list_delegated_to_meServrar som andra har delegerat till dig
list_ticketsDina supportärenden
get_ticketEtt ärende med hela trådenÄrendetext är opålitlig indata för agenten
list_sandboxesDina sandlådor
get_sandboxEn sandlåda och dess förbrukning
get_taskUtdata från en bakgrundsuppgift
download_fileLäser en liten fil från en sandlåda
get_download_urlKortlivad länk till en sandlådefilAlla med länken kan ladda ner tills den går ut

Nivå 2 — ändrar tillstånd, spenderar inget (17)

VerktygVad det görSe upp med
power_vpsstart / stop / rebootStopp är stopp: tjänsterna går ner
set_hostnameByter namn på servernÄndrar just det värde som confirm jämför mot
undo_cancelTar bort en schemalagd uppsägning vid periodens slut
refresh_tokenNy token, den gamla återkallas direktUppdatera statisk konfiguration efteråt
set_passwordSätter kontolösenordet om inget finnsDen som har token kan sätta det före dig
topup_balancePåfyllningsfaktura + kryptobetallänkAtt betala kräver en plånbok
pay_invoiceBetallänk för en obetald fakturaSamma
accept_delegationAccepterar en inbjudan
revoke_delegationAvslutar en delegering
create_ticket / reply_ticket / close_ticketSupportärendenAgenten skriver till supporten i ditt namn
run_code / exec_commandKör kod i en sandlådaBara i sandlådan, inte på din VPS
kill_taskStoppar en bakgrundsuppgift i sandlådan
upload_file / get_upload_urlLägger en fil i sandlådan

Nivå 3 — spenderar pengar, förstör data eller ger åtkomst (8)

VerktygVad det görKontroll på servern
order_vpsBeställer en server, betalas från saldotSaldot räcker inte → obetald faktura, inget dras
change_planPlanbyte utan ominstallation, mellanskillnaden dras från saldotconfirm: true; saldot räcker inte → 402
create_sandboxStartar en debiterad sandlådaTomt saldo → 402
reinstall_vpsRaderar disken och installerar ett nytt OSconfirm = exakt värdnamn eller DELETE; 4 anrop/min
reset_passwordNytt root-lösenord, det gamla slutar fungeraconfirm = värdnamn eller DELETE; 6 anrop/min
cancel_serviceend_of_period (standard, går att ångra) eller immediate (förstör servern direkt)immediate kräver confirm = värdnamn
kill_sandboxRaderar en sandlåda med fileringen
delegate_serviceGer en annan person operatörsåtkomst till en serverBara ägaren; personen måste acceptera

Ändringslogg för verktygsuppsättningen

DatumServerversionÄndringPåverkan på risk
2026-10-031.6.0refresh_token tillagt; tokens gäller 1 år som standardNivå 2
2026-10-031.5.0undo_cancel, get_upgrade_options, change_planchange_plan spenderar saldo → nivå 3
2026-10-031.1.013 sandlådeverktygcreate_sandbox spenderar, kill_sandbox förstör → nivå 3

Den körande versionen är publik: curl -s https://mcp.eqvps.com/healthz. När den ändras, ändras den här tabellen med den.

Saldot är utgiftstaket

EQVPS är förbetalt. Inget sparat kort, ingen kreditlina, ingen möjlighet att gå minus: det mesta en agent någonsin kan spendera är det som ligger på saldot. Tre verktyg spenderar: order_vps, change_plan och create_sandbox. Förnyelser av dina befintliga servrar dras från samma saldo.

Agenten kan skapa betalningsförfrågningar men inte betala dem. topup_balance och pay_invoice returnerar en kryptobetallänk, och en länk gör ingenting utan en plånbok bakom. Det finns heller ingen endpoint för uttag: pengar på saldot kan köpa tjänster i ditt konto men inte föras ut. Återbetalningar vid omedelbar uppsägning går också tillbaka till saldot.

En reservation, och den är på riktigt. Håller du saldot väldigt lågt för att bromsa agenten börjar dina egna förnyelser misslyckas och servrar hamnar i respitperiod. Vår tumregel: en förnyelsecykel av det du redan kör, plus budgeten för agentens aktuella uppgift. Guiden för agentbudget räknar igenom det. Och ger du agenten en egen plånbok med pengar blir den plånboken ett andra tak som du också måste hålla koll på.

Minsta behörighet: någon skrivskyddad token finns inte (än)

Rakt svar: varje kundtoken har samma rättigheter som kontot i kontrollpanelen. Namn och livslängd för en token går att ställa in, scopes gör det inte.

Det snävaste som finns i dag är delegering. Du ger agenten ett eget konto med noll i saldo och delegerar en server till det:

delegate_service  { "service_id": "EQ-XXXX", "email": "agent@yourdomain.com", "expires_days": 30 }

Samma sak via REST:

curl -s -X POST "https://api.eqvps.com/api/v1/eqvps/services/EQ-XXXX/delegations" \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"email":"agent@yourdomain.com","expires_days":30}'

Inbjudan måste accepteras medan man är inloggad med den e-postadressen (accept_delegation), och expires_days kan vara 1 till 365. Steg för steg med skärmbilder: delegera åtkomst och åtkomst i dokumentationen.

Ett delegerat konto kanEtt delegerat konto kan inte
Se status, mätvärden och historik för just den servernSe dina andra servrar, ditt saldo eller dina fakturor
Starta, stoppa, starta omSäga upp, förnya eller byta plan
Ställa in värdnamn och omvänd DNSKöpa tillägg eller IP-adresser
Återställa root-lösenordetÖppna webbkonsolen
Installera om operativsystemetDelegera servern vidare till någon annan

Lägg märke till de två sista raderna till vänster. En delegat kan inte spendera dina pengar, men kan radera den servern. Slå på säkerhetskopiering för alla servrar som en agent kan installera om.

Tokenhygien

En token per agent, med namn. Skapa den under Kontrollpanel → Inställningar → API-tokens för agenter, eller så här:

curl -s -X POST "https://api.eqvps.com/api/v1/eqvps/auth/tokens" \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"backup-agent","expires_in_days":90}'

Token visas en gång. Livslängd 1 till 1825 dagar, 365 om du inte anger något. För agenter skulle vi välja 90.

Förvara den i en fil som bara du kan läsa, inte i repot, inte i prompten, inte i en skalvariabel som du kopierar runt:

mkdir -p ~/.config/eqvps && chmod 700 ~/.config/eqvps
( umask 077; read -rsp 'EQVPS token: ' T; echo; printf 'EQVPS_TOKEN=%s\n' "$T" > ~/.config/eqvps/agent.env )
ls -l ~/.config/eqvps/agent.env   # förväntat: -rw-------

Läs sedan in den i agentens tjänst med EnvironmentFile= (systemd) eller set -a; . ~/.config/eqvps/agent.env; set +a.

Rotera innan den går ut. Verktyget refresh_token, eller POST /auth/tokens/{id}/refresh, utfärdar en ny token med samma namn och återkallar den gamla direkt. Står token hårdkodad i din MCP-klients konfiguration, uppdatera den direkt efteråt, annars får nästa session 401.

Kontrollera vem som använder vad: GET /auth/tokens listar varje token med namn, utgångsdatum och last_used_at. En token du inte känner igen, eller en som användes efter att du stängt av agenten, är din signal.

Om en token läcker

I den här ordningen:

  1. Återkalla den. Kontrollpanel → Inställningar → API-tokens för agenter → Återkalla, eller curl -s -X DELETE -H "Authorization: Bearer $EQVPS_TOKEN" https://api.eqvps.com/api/v1/eqvps/auth/tokens/<id>. Den slutar fungera vid nästa anrop.
  2. Leta efter nya tokens som du inte har skapat, och återkalla dem också.
  3. Gå igenom vad som kan ha påverkats: tjänstehistoriken för varje server, dina fakturor och ditt saldo, och list_delegations efter åtkomst du inte gett.
  4. Byt root-lösenord på varje server som den token kunde se. get_vps_status med reveal: true lämnar ut root-lösenordet, så en läckt token är ett läckt root-lösenord. Kontrollera ~/.ssh/authorized_keys när du ändå är där.
  5. Stäng lösenordsdörren. Har ditt konto aldrig haft ett lösenord kan den som hade token ha satt ett med set_password. Logga in med en kod via e-post och byt det.

Att förebygga steg 5 kostar ingenting: sätt ett kontolösenord själv nu, så returnerar set_password 409 till alla som kommer efter dig.

Mänskligt godkännande

Det här upprätthåller servern:

  • reinstall_vps, reset_password och cancel_service med type: immediate kräver confirm lika med det exakta värdnamnet (DELETE fungerar också för ominstallation och återställning).
  • change_plan kräver confirm: true.
  • Uppsägning sker som standard vid periodens slut (end_of_period): servern kör till slutet av den betalda perioden och undo_cancel ångrar det.
  • Hastighetsgränser per konto: ominstallation 4/min, lösenordsåterställning 6/min, ström 20/min, beställningar 20/min. Tillräckligt för att en loop inte ska göra det femtio gånger, inte för att stoppa ett enda felaktigt anrop.

Var klar över vad confirm är. Det hindrar en agent från att agera på "städa upp där". Det stoppar inte en angripare, eftersom värdnamnet bara är ett get_vps_status-anrop bort. Det riktiga godkännandet finns i din MCP-klient. De flesta klienter kan fråga före varje verktygsanrop: låt nivå 0 och 1 köra fritt och låt nivå 3 alltid fråga. I klienter med behörigheter per verktyg, som settings.json i Claude Code (servern registrerad som eqvps):

{
  "permissions": {
    "ask": ["mcp__eqvps__order_vps", "mcp__eqvps__change_plan", "mcp__eqvps__create_sandbox", "mcp__eqvps__reset_password", "mcp__eqvps__delegate_service"],
    "deny": ["mcp__eqvps__reinstall_vps", "mcp__eqvps__cancel_service", "mcp__eqvps__kill_sandbox"]
  }
}

Lägg också till en rad i agentens instruktioner. Ensam är den ingen säkerhetskontroll, men den minskar missförstånden (behåll den på engelska, modellerna förstår den lika bra):

Never call reinstall_vps, reset_password, cancel_service (type=immediate), change_plan,
order_vps, create_sandbox, kill_sandbox or delegate_service unless the human has typed
the target server's hostname in this conversation for that specific action.

Loggar agenten in med en e-postkod i stället för att hålla en långlivad token, se agentinloggning via MCP.

Granskning: vad du ser i efterhand

  • Tokenlistan (GET /auth/tokens, eller Inställningar → API-tokens för agenter): namn, skapad, utgår, last_used_at. Därför lönar det sig att namnge tokens per agent.
  • Tjänstehistorik (kontrollpanelen, serversidan): strömåtgärder, ominstallationer, lösenordsåterställningar, planbyten, betalningar, var och en med tid och aktör: du, supporten eller automatiskt. Den säger inte vilken token eller delegat som agerade, bara att det kom från din sida.
  • Fakturor och saldo: varje debitering och återbetalning.
  • list_delegations: vem som har åtkomst till vad, och till när.

Den luckan i tjänstehistoriken är i dag den ärliga gränsen för granskning på serversidan. Behöver du veta vilken agent som gjorde vad, logga varje verktygsanrop med argument (utan hemligheter) på agentens sida.

Upplägget vi skulle välja

För en agent som sköter en produktionsserver:

  1. Ett separat konto för agenten, noll i saldo, servern delegerad med expires_days: 90.
  2. Din ägartoken stannar hos dig och ligger inte i någon agentkonfiguration.
  3. Säkerhetskopiering på den servern, eftersom en delegat kan installera om.
  4. Nivå 3-verktyg på "ask" eller "deny" i klienten.
  5. Agentens token i en 600-fil, förnyad innan den går ut.

För en agent som måste beställa servrar eller köra sandlådor räcker inte delegering, eftersom den behöver saldo. Då är saldot ditt tak: fyll på per uppgift, namnge token och titta på last_used_at en gång i veckan. Om en skrivskyddad token skulle ändra hur du sätter agenter i arbete, säg det till oss i supporten: det är just sådan återkoppling som avgör vad vi bygger härnäst.

Vanliga frågor

Kan jag ge en AI-agent enbart läsbehörighet?

Inte med en token i dag: varje kundtoken har samma rättigheter som ditt konto i kontrollpanelen. Det närmaste är delegering: ge agenten ett eget konto utan saldo och delegera en server till det. Agenten kan se och sköta den servern men inte spendera pengar, säga upp, öppna konsolen eller delegera vidare. Den kan fortfarande starta om, återställa root-lösenordet och installera om, så slå på säkerhetskopiering för den servern.

Hur begränsar jag hur mycket en agent spenderar?

Med det förbetalda saldot. Bara tre verktyg spenderar pengar (order_vps, change_plan, create_sandbox) och de drar från saldot; räcker det inte returneras 402 eller en obetald faktura. Agenten kan skapa en länk för påfyllning eller betalning, men att betala kräver en kryptoplånbok, så det gör en människa. Inget sparat kort och ingen möjlighet att gå minus.

Vad hindrar en agent från att radera min server?

reinstall_vps, reset_password och en omedelbar cancel_service kräver confirm lika med det exakta värdnamnet (eller DELETE för ominstallation och återställning). Standarduppsägningen är end_of_period: servern fortsätter att köra och undo_cancel ångrar den. Delegerade konton kan inte säga upp alls. Fältet confirm stoppar en agent som agerar på en vag instruktion, inte en angripare med din token, så ställ också in de verktygen på att alltid fråga i din MCP-klient.

Vad gör jag om min Bearer-token har läckt?

Återkalla den direkt (Kontrollpanel → Inställningar → API-tokens för agenter, eller DELETE /auth/tokens/{id}). Gå sedan igenom tokenlistan efter tokens du inte känner igen, titta på tjänstehistoriken för varje server, dina fakturor och list_delegations, och byt root-lösenord på servrar som token kunde se: get_vps_status med reveal returnerar root-lösenordet.

Hur många verktyg har EQVPS MCP-server?

45 för en kundtoken, i MCP-server 1.6.0 (kontrollerat 2026-10-04): 5 publika, 15 enbart läsande, 17 som ändrar tillstånd utan att spendera och 8 som spenderar pengar, förstör data eller ger åtkomst. Återförsäljartokens ser i stället en separat uppsättning med 30 återförsäljarverktyg, totalt 75 på samma endpoint.

Kommentarer

Inga kommentarer än. Bli först.

Lämna en kommentar

Kommentarer modereras innan de visas.