@superadnim/osint-mcp-server
Version:
Professional OSINT MCP Server for intelligence gathering with privacy protection
261 lines • 6.4 kB
TypeScript
export interface OSINTTool {
name: string;
description: string;
inputSchema: Record<string, unknown>;
}
export interface OSINTMCPServer {
name: '@osint-tools/mcp-server';
version: '1.0.0';
capabilities: {
tools: OSINTTool[];
notifications: boolean;
logging: boolean;
};
}
export interface DataSource {
id: string;
name: string;
type: 'people' | 'phone' | 'email' | 'domain' | 'social' | 'vehicle' | 'address';
tier: 1 | 2 | 3;
rateLimit: RateLimitConfig;
apiKey?: string;
baseUrl: string;
endpoints: SourceEndpoint[];
}
export interface RateLimitConfig {
requestsPerMinute: number;
requestsPerHour: number;
requestsPerDay: number;
concurrent: number;
}
export interface SourceEndpoint {
path: string;
method: 'GET' | 'POST' | 'PUT' | 'DELETE';
parameters: Record<string, string>;
rateLimit?: RateLimitConfig;
}
export interface PeopleSearchResult {
target: {
query: string;
detected_type: string;
confidence: number;
};
demographics: {
names: NameVariation[];
age_range?: string;
gender?: string;
ethnicity?: string;
};
contact_info: {
phones: PhoneNumber[];
emails: EmailAddress[];
addresses: Address[];
};
relatives: Person[];
associates: Person[];
social_profiles: SocialProfile[];
sources: DataSource[];
investigation_id: string;
timestamp: string;
}
export interface NameVariation {
first_name: string;
middle_name?: string;
last_name: string;
full_name: string;
nickname?: string;
confidence: number;
}
export interface PhoneNumber {
number: string;
formatted: string;
international: string;
type: 'mobile' | 'landline' | 'voip' | 'toll_free';
confidence: number;
last_seen?: string;
}
export interface EmailAddress {
address: string;
domain: string;
is_valid: boolean;
confidence: number;
last_seen?: string;
}
export interface Address {
street: string;
city: string;
state: string;
zip_code: string;
country: string;
full_address: string;
type: 'current' | 'previous' | 'business';
confidence: number;
date_range?: string;
}
export interface Person {
name: string;
relationship?: string;
age?: number;
phones?: PhoneNumber[];
addresses?: Address[];
confidence: number;
}
export interface SocialProfile {
platform: string;
username: string;
url: string;
profile_data?: Record<string, unknown>;
last_activity?: string;
verification_status: boolean;
confidence: number;
}
export interface PhoneLookupResult {
phone_number: {
original: string;
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: SocialAccount[];
registered_services: string[];
historical_data: PhoneHistory[];
}
export interface SocialAccount {
platform: string;
account_exists: boolean;
profile_url?: string;
confidence: number;
}
export interface PhoneHistory {
carrier: string;
date_range: string;
confidence: number;
}
export interface EmailIntelResult {
email_address: {
address: string;
local_part: string;
domain: string;
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: BreachRecord[];
exposed_data_types: string[];
latest_breach: string;
risk_level: 'low' | 'medium' | 'high' | 'critical';
};
account_enumeration: {
confirmed_accounts: PlatformAccount[];
possible_accounts: PlatformAccount[];
total_platforms_checked: number;
};
deliverability: {
accepts_mail: boolean;
mailbox_full: boolean;
catch_all: boolean;
role_account: boolean;
};
}
export interface BreachRecord {
name: string;
date: string;
description: string;
data_types: string[];
verified: boolean;
confidence: number;
}
export interface PlatformAccount {
platform: string;
username?: string;
profile_url?: string;
confirmed: boolean;
confidence: number;
last_seen?: string;
}
export interface InvestigationNode {
id: string;
type: string;
content: string;
metadata: Record<string, unknown>;
confidence: number;
source: string;
timestamp: string;
}
export interface InvestigationConnection {
id: string;
from_node: string;
to_node: string;
relationship: string;
strength: number;
evidence: string[];
timestamp: string;
}
export interface Investigation {
id: string;
name: string;
description?: string;
nodes: InvestigationNode[];
connections: InvestigationConnection[];
created_at: string;
updated_at: string;
metadata: Record<string, unknown>;
}
export interface OSINTConfig {
api: {
timeout: number;
retries: number;
rateLimitEnabled: boolean;
maxConcurrentRequests: number;
};
privacy: {
redactSSN: boolean;
redactFinancial: boolean;
gdprCompliance: boolean;
dataRetentionHours: number;
investigationTTL: number;
};
logging: {
level: 'debug' | 'info' | 'warn' | 'error';
structured: boolean;
auditEnabled: boolean;
};
sources: {
apiKeys: Record<string, string>;
enabledSources: string[];
tierLimits: Record<number, number>;
};
}
//# sourceMappingURL=osint-types.d.ts.map