web3-research-mcp
Version:
Deep Research for crypto - free & fully local
50 lines (49 loc) • 1.63 kB
TypeScript
export interface ResearchLog {
timestamp: string;
message: string;
}
export interface ResearchPlan {
[key: string]: {
description: string;
sources: string[];
status: "planned" | "in_progress" | "completed";
};
}
export interface ResearchData {
tokenName: string;
tokenTicker: string;
researchPlan: ResearchPlan;
searchResults: Record<string, any>;
technicalData: Record<string, any>;
marketData: Record<string, any>;
socialData: Record<string, any>;
newsData: Array<any>;
teamData: Record<string, any>;
relatedTokens: Array<any>;
resources: Record<string, {
url: string;
format: string;
content: string;
fetchedAt: string;
}>;
researchData: Record<string, any>;
status: "not_started" | "in_progress" | "completed";
logs: ResearchLog[];
}
export declare class ResearchStorage {
private dataDir;
private currentResearch;
constructor(dataDir?: string);
private ensureDataDir;
startNewResearch(tokenName: string, tokenTicker: string): void;
getCurrentResearch(): ResearchData;
getSection<K extends keyof ResearchData>(section: K): ResearchData[K];
updateSection<K extends keyof ResearchData>(section: K, data: ResearchData[K]): void;
addToSection<K extends keyof ResearchData>(section: K, data: Partial<ResearchData[K]> | any): void;
getResource(resourceId: string): any;
getAllResources(): Record<string, any>;
addLogEntry(message: string): void;
completeResearch(): void;
saveCurrentResearch(): Promise<void>;
}
export default ResearchStorage;