@cyanheads/pubmed-mcp-server
Version:
A Model Context Protocol (MCP) server enabling AI agents to intelligently search, retrieve, and analyze biomedical literature from PubMed via NCBI E-utilities. Built on the mcp-ts-template for robust, production-ready performance.
34 lines (33 loc) • 1.22 kB
TypeScript
/**
* @fileoverview Defines the AsyncLocalStorage context for authentication information.
* This module provides a mechanism to store and retrieve authentication details
* (like scopes and client ID) across asynchronous operations, making it available
* from the middleware layer down to the tool and resource handlers without
* drilling props.
*
* @module src/mcp-server/transports/auth/core/authContext
*/
import { AsyncLocalStorage } from "async_hooks";
import type { AuthInfo } from "./authTypes.js";
/**
* Defines the structure of the store used within the AsyncLocalStorage.
* It holds the authentication information for the current request context.
*/
interface AuthStore {
authInfo: AuthInfo;
}
/**
* An instance of AsyncLocalStorage to hold the authentication context (`AuthStore`).
* This allows `authInfo` to be accessible throughout the async call chain of a request
* after being set in the authentication middleware.
*
* @example
* // In middleware:
* await authContext.run({ authInfo }, next);
*
* // In a deeper handler:
* const store = authContext.getStore();
* const scopes = store?.authInfo.scopes;
*/
export declare const authContext: AsyncLocalStorage<AuthStore>;
export {};