@superadnim/osint-mcp-server
Version:
Professional OSINT MCP Server for intelligence gathering with privacy protection
171 lines • 4.65 kB
TypeScript
import { Logger } from '../utils/logger.js';
export interface CorrelatedPeopleData {
names?: Array<{
first_name: string;
middle_name?: string;
last_name: string;
full_name: string;
nickname?: string;
confidence: number;
}>;
age_range?: string;
gender?: string;
ethnicity?: string;
phones?: Array<{
number: string;
formatted: string;
international: string;
type: 'mobile' | 'landline' | 'voip' | 'toll_free';
confidence: number;
last_seen?: string;
}>;
emails?: Array<{
address: string;
domain: string;
is_valid: boolean;
confidence: number;
last_seen?: string;
}>;
addresses?: Array<{
street: string;
city: string;
state: string;
zip_code: string;
country: string;
full_address: string;
type: 'current' | 'previous' | 'business';
confidence: number;
date_range?: string;
}>;
relatives?: Array<{
name: string;
relationship?: string;
age?: number;
confidence: number;
}>;
associates?: Array<{
name: string;
relationship?: string;
age?: number;
confidence: number;
}>;
social_profiles?: Array<{
platform: string;
username: string;
url: string;
profile_data?: Record<string, unknown>;
last_activity?: string;
verification_status: boolean;
confidence: number;
}>;
}
export interface CorrelatedPhoneData {
formatted?: string;
international?: string;
national?: string;
e164?: string;
carrier_info?: {
name: string;
type: 'mobile' | 'landline' | 'voip' | 'toll_free';
country: string;
network_code?: string;
};
location?: {
country: string;
region: string;
city?: string;
timezone: string;
coordinates?: {
latitude: number;
longitude: number;
};
};
reputation?: {
spam_score: number;
scam_reports: number;
whitelist_status: boolean;
last_reported: string;
};
associated_accounts?: Array<{
platform: string;
account_exists: boolean;
profile_url?: string;
confidence: number;
}>;
registered_services?: string[];
historical_data?: Array<{
carrier: string;
date_range: string;
confidence: number;
}>;
}
export interface CorrelatedEmailData {
is_valid?: boolean;
is_disposable?: boolean;
is_business?: boolean;
domain_analysis?: {
mx_records: string[];
organization: string;
creation_date: string;
registrar: string;
reputation_score: number;
};
breach_analysis?: {
total_breaches: number;
breaches: Array<{
name: string;
date: string;
description: string;
data_types: string[];
verified: boolean;
confidence: number;
}>;
exposed_data_types: string[];
latest_breach: string;
risk_level: 'low' | 'medium' | 'high' | 'critical';
};
account_enumeration?: {
confirmed_accounts: Array<{
platform: string;
username?: string;
profile_url?: string;
confirmed: boolean;
confidence: number;
last_seen?: string;
}>;
possible_accounts: Array<{
platform: string;
username?: string;
profile_url?: string;
confirmed: boolean;
confidence: number;
last_seen?: string;
}>;
total_platforms_checked: number;
};
deliverability?: {
accepts_mail: boolean;
mailbox_full: boolean;
catch_all: boolean;
role_account: boolean;
};
}
export declare class CorrelationEngine {
private logger;
constructor(logger: Logger);
correlatePeopleData(sourceResults: unknown[]): CorrelatedPeopleData;
correlatePhoneData(sourceResults: unknown[]): CorrelatedPhoneData;
correlateEmailData(sourceResults: unknown[]): CorrelatedEmailData;
private isValidSourceResult;
private mergePersonData;
private mergePhoneData;
private mergeEmailData;
private deduplicateAndScore;
private deduplicateArray;
private calculateSourceConfidence;
private isValidNameData;
private isValidPhoneData;
private isValidEmailData;
private isValidAddressData;
}
//# sourceMappingURL=correlation.d.ts.map