Simple Bearer authentication scheme plugin for hapi, accepts token by Header, Cookie or Query parameter.
Simple Bearer authentication scheme plugin for hapi, accepts token by Header, Cookie or Query parameter. That is what the hapi mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.
[Release Notes] @hapi/hapi, joi, and @hapi/boom are all now peer dependencies to allow maximum flexibility. A reference to joi is now required as opposed to the older @hapi/joi.
The server publishes 8 tools. What each one is for:
validate — (required) a token validation function with the signature [async] function(request, token, h) where:request — is the hapi request object of the request which is being authenticatedtoken — the auth token received from the clientisValid — true if token is valid, otherwise falsecredentials — a credentials object passed back to the application in request.auth.credentials. Note that due to underlying Hapi expectations, this value must beartifacts — optional authentication related data that is not part of the user's credentialoptions — (optional)response — {"statusCode":401,"error":"Unauthorized","message":"Missing authentication"}Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client.
Among the planning and project tracking options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Hapi's toolset — validate, request, token and 5 more — is a fair guide to whether it matches your workflow. It is maintained by johnbrett; worth a glance at recent repository activity before you build anything load-bearing on it.
This entry was verified against Hapi's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.
| Tool | What it does |
|---|---|
| validate | (required) a token validation function with the signature [async] function(request, token, h) where: |
| request | is the hapi request object of the request which is being authenticated. |
| token | the auth token received from the client. |
| isValid | true if token is valid, otherwise false. |
| credentials | a credentials object passed back to the application in request.auth.credentials. Note that due to underlying Hapi expectations, this value must be defined even if isValid is false. We recommend it be set to {} if isValid |
| artifacts | optional [authentication](http://hapijs.com/tutorials/auth) related data that is not part of the user's credential. |
| options | (optional) |
| response | {"statusCode":401,"error":"Unauthorized","message":"Missing authentication"} |
Your workspace, on speaking terms with AI — search, read and write Notion pages and databases.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Search and read your Drive — Docs, Sheets and files become context your assistant can actually use.
Your assistant inside the workspace — read channels, search history, post messages and tame the noise.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Stop letting your assistant hallucinate n8n node parameters — this server hands it the real schemas, templates and validation.