{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"dev.interlusion/enterich","description":"A service for ERPNext accounting behind OAuth: fixed tools, drafts only, one agent user's rights","title":"Enterich","repository":{"url":"https://github.com/Interlusion/enterich","source":"github"},"version":"0.2.1","websiteUrl":"https://github.com/Interlusion/enterich","packages":[{"registryType":"oci","identifier":"ghcr.io/interlusion/enterich:0.2.1","transport":{"type":"streamable-http","url":"http://localhost:{ENTERICH_PORT}/mcp"},"environmentVariables":[{"description":"The MCP endpoint exactly as clients enter it, https; its path is the one served","isRequired":true,"name":"ENTERICH_RESOURCE_URL"},{"description":"The authorization server's issuer, https","isRequired":true,"name":"ENTERICH_ISSUER"},{"description":"The authorization server's signing keys, https","isRequired":true,"name":"ENTERICH_JWKS_URL"},{"description":"The OAuth client the agent's tokens are issued to","isRequired":true,"name":"ENTERICH_CLIENT_ID"},{"description":"The agent identity's sub","isRequired":true,"name":"ENTERICH_SUBJECT"},{"description":"Scopes required in the token, space-separated","default":"openid","name":"ENTERICH_REQUIRED_SCOPES"},{"description":"Token signing algorithms accepted, comma-separated","default":"RS256","name":"ENTERICH_TOKEN_ALGORITHMS"},{"description":"Seconds of clock leeway for token times, 0 to 60","default":"5","name":"ENTERICH_CLOCK_LEEWAY"},{"description":"The base URL Enterich calls ERPNext at","isRequired":true,"name":"ENTERICH_ERPNEXT_URL"},{"description":"The Host header sent to ERPNext, by default the URL's host","name":"ENTERICH_ERPNEXT_HOST"},{"description":"The base URL people open ERPNext at, for links in results","isRequired":true,"name":"ENTERICH_ERPNEXT_PUBLIC_URL"},{"description":"The ERPNext agent user's API key","isRequired":true,"isSecret":true,"name":"ENTERICH_ERPNEXT_API_KEY"},{"description":"The ERPNext agent user's API secret","isRequired":true,"isSecret":true,"name":"ENTERICH_ERPNEXT_API_SECRET"},{"description":"The assigned company, exactly as named in ERPNext","isRequired":true,"name":"ENTERICH_COMPANY"},{"description":"The operations to offer, comma-separated; by default all","name":"ENTERICH_TOOLS"},{"description":"IANA time zone for today's date, the ERPNext site's","default":"UTC","name":"ENTERICH_TIMEZONE"},{"description":"The listen address","default":"0.0.0.0","name":"ENTERICH_HOST"},{"description":"The listen port","default":"8000","name":"ENTERICH_PORT"},{"description":"The level for libraries' log lines: DEBUG, INFO, WARNING or ERROR","default":"INFO","name":"ENTERICH_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-11-01T15:55:27.808513Z","publishedAt":"2026-11-01T15:55:27.808513Z","updatedAt":"2026-11-01T15:55:27.808513Z","isLatest":true}}}
