HoursUdviklere
MCPIkke frigivet

Hours MCP

Hours MCP gør den versionerede dokumentation tilgængelig som værktøjer i en kompatibel AI-klient. Serveren søger, læser og kontrollerer input. Den logger ikke ind som kunden og udfører ikke økonomiske handlinger.

Hvilket problem serveren løser

En udvikler kan bruge en AI-klient til at finde et bestemt felt, forstå en fejlkode eller få forklaret forskellen mellem en intern route og en partneroperation. Uden en afgrænset dokumentationskilde er der risiko for, at klienten foreslår en gammel adresse, opfinder et scope eller behandler en prototype som en aktiv tjeneste.

MCP-serveren læser derfor kun den versionerede offentlige dokumentation. Den har ingen fri URL-henter, filbrowser, SQL-funktion eller databasecredential. Et værktøj kan beskrive, hvordan en postering bygges, uden at have mulighed for at bogføre den.

De fire værktøjer

VærktøjInputResultat
hours_docs_searchquery, højst 300 tegnOp til 12 relevante dokumentationssider.
hours_docs_readpage_id, valgfri offset og limitMarkdown og eventuel next_offset.
hours_api_describeoperation_idBeskrivelse af en af Hours' eksisterende interne operationer; intet kald udføres.
hours_journal_validateentryLokal inputkontrol med posted: false.

Værktøjerne annonceres som læsende, ikke-destruktive og uden åben netværksadgang. Disse metadata er nyttige for klienten, men den faktiske sikkerhed ligger i, at implementationen ikke har database- eller netværksoperationer til kundedata.

Dokumentationssøgning og læsning

Søgningen finder sider i den indbyggede dokumentation. Den søger ikke i kundens kontrakter, supporthistorik, e-mails eller beskyttede Audit Center-dokumenter. Et søgeresultat er en sidehenvisning med en kort beskrivelse, ikke et AI-genereret svar, som påstår at kende kundens situation.

Markdown-læsning accepterer kun kendte side-ID'er. Et input som en filsti eller ekstern URL bliver ikke hentet. offset angiver en tekstposition, og limit er mellem 1.000 og 50.000 tegn med 20.000 som standard. Følg next_offset, hvis dokumentet er længere end første udsnit; et afkortet svar er ikke hele dokumentationen.

Beskrivelse er ikke udførelse

hours_api_describe beskriver Hours' eksisterende interne metoder. Svaret angiver, at operationen ikke er en tildelt partnerrettighed.

Værktøjet er ikke en universalproxy til det API, hvis navn klienten sender. Ukendte operationer afvises. Partner-API'et beskrives også i dokumentationssiderne, men værktøjet ændrer ikke automatisk karakter til et produktionskald, når en side indeholder et curl-eksempel.

Lokal journalvalidering

Valideringen kontrollerer inputmodellen, kalenderdatoer, hele øre, tilladte felter og balance. Den kontrollerer ikke, om konto-ID'et findes, om kunden har givet mandat, eller om regnskabsperioden er åben. Et vilkårligt syntaktisk korrekt UUID kan derfor passere den lokale formkontrol uden at være en gyldig regnskabsreference.

Svaret skelner eksplicit mellem checked og not_checked. posted er altid false. En AI-klient må ikke omformulere resultatet til "posteringen er bogført" eller "godkendt af Hours". Det næste autoritative trin er et korrekt autoriseret serverkald, ikke en sproglig fortolkning af valideringen.

Protokolversioner

Hours MCP har to adskilte stdio-indgange. Den moderne indgang bruger profilen 2026-07-28 med metadata på hver request og server/discover. Den ældre indgang er til 2025-11-25 med det tidligere initialiseringsforløb.

Brug den indgang, klienten faktisk understøtter. De er ikke to navne på samme wireformat. En ny versionsstreng i en request til den ældre indgang gør den ikke kompatibel med den moderne profil. Den officielle MCP-dokumentation beskriver versionsskiftet.

Transport og installation

Serveren startes som en lokal Node-proces og kommunikerer med newline-adskilte JSON-RPC-meddelelser på stdin og stdout. Diagnostik må ikke blandes ind i stdout. Der er en grænse på 256 KiB pr. indgående meddelelse, og ugyldig UTF-8 eller JSON afvises.

Dette er ikke en publiceret HTTP-MCP-server med OAuth. Partner-REST-API'et og dokumentations-MCP er to forskellige grænseflader. En senere fjern-MCP med kundedata ville kræve sin egen ressourceautorisation, tokenkontrol, konformitetsprøver og de samme dataafgrænsninger som gatewayen.

Fortsæt med MCP-opsætning for en faktisk startkommando og MCP-sikkerhed for klientens ansvar.

Hours MCP · Hours Udviklere