
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
@mcp-typescript-simple/config
Advanced tools
Extensible configuration management for MCP (Model Context Protocol) servers with Zod validation.
npm install @mcp-typescript-simple/config
import { EnvironmentConfig, TransportMode } from '@mcp-typescript-simple/config';
// Load and validate environment configuration
const config = EnvironmentConfig.load();
// Check transport mode
const mode = EnvironmentConfig.getTransportMode();
if (mode === TransportMode.STREAMABLE_HTTP) {
console.log('Running in HTTP mode');
}
// Check if running in production
if (EnvironmentConfig.isProduction()) {
console.log('Production environment detected');
}
// Get server configuration
const serverConfig = EnvironmentConfig.getServerConfig();
console.log(`Server listening on ${serverConfig.host}:${serverConfig.port}`);
import { EnvironmentConfig } from '@mcp-typescript-simple/config';
// Set optional logger for configuration diagnostics
EnvironmentConfig.setLogger({
debug: (message, data) => console.debug(message, data),
info: (message, data) => console.info(message, data),
warn: (message, data) => console.warn(message, data),
error: (message, error) => console.error(message, error)
});
// Log configuration status (requires logger)
EnvironmentConfig.logConfiguration();
MCP_MODE: Transport mode (stdio | streamable_http)MCP_DEV_SKIP_AUTH: Skip authentication in developmentHTTP_PORT: HTTP server port (default: 3000)HTTP_HOST: HTTP server host (default: localhost)NODE_ENV: Environment (development | production | test)REQUIRE_HTTPS: Require HTTPS connectionsALLOWED_ORIGINS: Comma-separated allowed CORS originsALLOWED_HOSTS: Comma-separated allowed host headersGOOGLE_CLIENT_ID: Google OAuth client ID (secret)GOOGLE_CLIENT_SECRET: Google OAuth client secret (secret)GOOGLE_REDIRECT_URI: Google OAuth redirect URIGITHUB_CLIENT_ID: GitHub OAuth client ID (secret)GITHUB_CLIENT_SECRET: GitHub OAuth client secret (secret)GITHUB_REDIRECT_URI: GitHub OAuth redirect URIMICROSOFT_CLIENT_ID: Microsoft OAuth client ID (secret)MICROSOFT_CLIENT_SECRET: Microsoft OAuth client secret (secret)MICROSOFT_REDIRECT_URI: Microsoft OAuth redirect URIMICROSOFT_TENANT_ID: Microsoft tenant IDOAUTH_CLIENT_ID: Generic OAuth client ID (secret)OAUTH_CLIENT_SECRET: Generic OAuth client secret (secret)OAUTH_REDIRECT_URI: Generic OAuth redirect URIOAUTH_AUTHORIZATION_URL: Authorization endpoint URLOAUTH_TOKEN_URL: Token endpoint URLOAUTH_USER_INFO_URL: User info endpoint URLOAUTH_REVOCATION_URL: Token revocation endpoint URLOAUTH_PROVIDER_NAME: Provider display nameOAUTH_SCOPES: OAuth scopes (comma-separated)ANTHROPIC_API_KEY: Anthropic/Claude API key (secret)OPENAI_API_KEY: OpenAI API key (secret)GOOGLE_API_KEY: Google/Gemini API key (secret)LLM_DEFAULT_PROVIDER: Default LLM provider (claude | openai | gemini)REDIS_URL: Redis connection URLSTORAGE_TYPE: Global storage type (memory | file | redis)SESSION_STORE_TYPE: Session storage overrideTOKEN_STORE_TYPE: Token storage overrideCLIENT_STORE_TYPE: Client storage override (DCR)PKCE_STORE_TYPE: PKCE storage overrideMCP_METADATA_STORE_TYPE: MCP metadata storage overrideload(): Load and validate environment configurationget(): Get current environment configurationgetConfigurationStatus(): Get configuration and secrets statuslogConfiguration(): Log configuration status (requires logger)checkOAuthCredentials(provider): Check if OAuth provider is configuredcheckLLMProviders(): Get list of configured LLM providersreset(): Reset configuration (useful for testing)isProduction(): Check if running in productionisDevelopment(): Check if running in developmentgetTransportMode(): Get transport modeshouldSkipAuth(): Check if authentication should be skippedgetSecurityConfig(): Get security configurationgetServerConfig(): Get server configurationsetLogger(logger): Set optional loggerexport interface Configuration {
// Base configuration (non-secret)
MCP_MODE: 'stdio' | 'streamable_http';
MCP_DEV_SKIP_AUTH: boolean;
HTTP_PORT: number;
HTTP_HOST: string;
// ... (see schema above)
}
export interface Secrets {
// Secret configuration (API keys, client secrets)
GOOGLE_CLIENT_ID?: string;
GOOGLE_CLIENT_SECRET?: string;
// ... (see schema above)
}
export interface Environment extends Configuration, Secrets {}
export interface ConfigurationStatus {
configuration: Configuration;
secrets: {
configured: string[];
missing: string[];
total: number;
};
}
export interface ConfigLogger {
debug(message: string, data?: unknown): void;
info(message: string, data?: unknown): void;
warn(message: string, data?: unknown): void;
error(message: string, error?: Error | unknown): void;
}
MIT
FAQs
Extensible configuration management for MCP servers
We found that @mcp-typescript-simple/config demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.