{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.cyanheads/sanctions-screening-mcp-server","description":"Screen names against OFAC, EU, UK, UN sanctions lists; resolve entities via GLEIF. Screening aid.","repository":{"url":"https://github.com/cyanheads/sanctions-screening-mcp-server","source":"github"},"version":"0.5.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/sanctions-screening-mcp-server","version":"0.5.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"},{"description":"Filesystem path for the local SQLite mirror. All sources are keyless; no API key is required. Populate the mirror out-of-band with `bun run mirror:init`.","format":"string","default":"./data/sanctions.db","name":"SANCTIONS_MIRROR_PATH"},{"description":"Default Jaro-Winkler similarity floor (0-1) for fuzzy matches when the caller omits minScore.","format":"string","default":"0.85","name":"SANCTIONS_FUZZY_MIN_SCORE"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/sanctions-screening-mcp-server","version":"0.5.0","runtimeHint":"npx","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"environmentVariables":[{"description":"Selects the HTTP transport.","format":"string","value":"http","name":"MCP_TRANSPORT_TYPE"},{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"},{"description":"Filesystem path for the local SQLite mirror; a persistent volume on a hosted deployment. All sources are keyless; no API key is required.","format":"string","default":"./data/sanctions.db","name":"SANCTIONS_MIRROR_PATH"},{"description":"Cron for the scheduled mirror refresh (HTTP transport only). Each run re-harvests the sanctions lists and rebuilds the name and identifier indexes, then applies the GLEIF delta windows its checkpoint calls for, under one 4-hour time bound. A GLEIF gap that needs mirror:init is logged, never loaded in-process.","format":"string","default":"0 4 * * *","name":"SANCTIONS_REFRESH_CRON"},{"description":"Set to 1 to skip the GLEIF leg of the scheduled refresh and of mirror:refresh, refreshing only the sanctions lists.","format":"string","name":"SANCTIONS_REFRESH_SKIP_GLEIF"},{"description":"Default Jaro-Winkler similarity floor (0-1) for fuzzy matches when the caller omits minScore.","format":"string","default":"0.85","name":"SANCTIONS_FUZZY_MIN_SCORE"}]}],"remotes":[{"type":"streamable-http","url":"https://sanctions-screening.caseyjhand.com/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-04T02:15:26.25653Z","publishedAt":"2026-10-04T02:15:26.25653Z","updatedAt":"2026-10-04T02:15:26.25653Z","isLatest":true}}}],"metadata":{"count":1}}
