@prsna_ai/mcp-server
Version:
Model Context Protocol server for PRSNA personality profiles and communication insights
139 lines • 3.45 kB
TypeScript
export interface SimplifiedDimension {
dimension: string;
dominant_pole: string;
confidence_percentage: number;
score: number;
}
export interface CommunicationRecommendation {
context: string;
priority: 'high' | 'medium' | 'low';
recommendation: string;
}
export interface SavedProfile {
_id: string;
userId: string;
name: string;
jobTitle: string;
company: string;
linkedInUrl: string;
dimensions: SimplifiedDimension[];
personalitySummary: string;
professionalContext?: string;
keyTraits?: string[];
communicationPreferences?: string;
communicationRecommendations?: CommunicationRecommendation[];
operatingStyle?: string;
dominantTraitOverview?: string;
notes: string;
context?: string;
isDeleted: boolean;
createdAt: string;
updatedAt: string;
industry?: string;
location?: string;
education?: string[];
profileUrl?: string;
profileImageUrl?: string;
llmOptimizedProfile?: string;
}
export interface UserProfile {
_id: string;
name: string;
email: string;
results: DimensionResult[];
subscriptionStatus?: string;
subscriptionPlan?: string;
createdAt: string;
updatedAt: string;
}
export interface DimensionResult {
dimensionId: 'expression' | 'reasoning' | 'flexibility' | 'work_style' | 'tempo';
score: number;
dominantPole: string;
}
export interface ApiResponse<T> {
data?: T;
error?: string;
message?: string;
}
export interface AuthResponse {
profile: UserProfile;
}
export interface ApiError {
code: string;
message: string;
details?: any;
}
export interface ProfileListResponse {
profiles: SavedProfile[];
total: number;
limit: number;
offset: number;
}
export interface ProfileSearchResponse {
profiles: SavedProfile[];
query: string;
total: number;
}
export interface CommunicationTipsResponse {
profileId: string;
name: string;
tips: CommunicationRecommendation[];
scenario?: string;
}
export interface LinkedInSearchResult {
url: string;
title: string;
snippet: string;
}
export interface SearchLinkedInResponse {
success: boolean;
message: string;
resultCount: number;
results?: LinkedInSearchResult[];
result?: LinkedInSearchResult;
topResults?: LinkedInSearchResult[];
suggestion?: string;
action?: string;
}
export interface AnalyzeLinkedInRequest {
linkedInUrl: string;
save?: boolean;
update?: boolean;
notes?: string;
}
export interface AnalyzeLinkedInResponse {
success: boolean;
exists?: boolean;
existingProfile?: {
id: string;
name: string;
jobTitle: string;
company: string;
analyzedAt: string;
};
profile?: {
id?: string;
name: string;
jobTitle: string;
company: string;
linkedInUrl: string;
industry?: string;
location?: string;
profileImageUrl?: string;
dimensions: SimplifiedDimension[];
personalitySummary: string;
keyTraits: string[];
operatingStyle: string;
communicationPreferences: string;
communicationRecommendations: CommunicationRecommendation[];
};
saved?: boolean;
message: string;
rateLimitInfo?: {
used: number;
limit: number;
remaining: number;
};
}
//# sourceMappingURL=types.d.ts.map