@dollhousemcp/mcp-server
Version:
DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.
115 lines • 4.05 kB
TypeScript
/**
* Server interface types to avoid circular dependencies
*/
export interface IToolHandler {
listPersonas(): Promise<any>;
reloadPersonas(): Promise<any>;
listElements(type: string): Promise<any>;
activateElement(name: string, type: string): Promise<any>;
getActiveElements(type: string): Promise<any>;
deactivateElement(name: string, type: string): Promise<any>;
getElementDetails(name: string, type: string): Promise<any>;
reloadElements(type: string): Promise<any>;
createElement(args: {
name: string;
type: string;
description: string;
content?: string;
metadata?: Record<string, any>;
}): Promise<any>;
editElement(args: {
name: string;
type: string;
input: Record<string, unknown>;
}): Promise<any>;
validateElement(args: {
name: string;
type: string;
strict?: boolean;
}): Promise<any>;
deleteElement(args: {
name: string;
type: string;
deleteData?: boolean;
}): Promise<any>;
renderTemplate(name: string, variables: Record<string, any>): Promise<any>;
executeAgent(name: string, parameters: Record<string, any>): Promise<any>;
browseCollection(section?: string, type?: string): Promise<any>;
searchCollection(query: string): Promise<any>;
searchCollectionEnhanced(query: string, options?: any): Promise<any>;
getCollectionContent(path: string): Promise<any>;
installContent(path: string): Promise<any>;
submitContent(content: string): Promise<any>;
getCollectionCacheHealth(): Promise<any>;
setUserIdentity(username: string, email?: string): Promise<any>;
getUserIdentity(): Promise<any>;
clearUserIdentity(): Promise<any>;
setupGitHubAuth(): Promise<any>;
checkGitHubAuth(): Promise<any>;
clearGitHubAuth(): Promise<any>;
configureOAuth(client_id?: string): Promise<any>;
getOAuthHelperStatus(verbose?: boolean): Promise<any>;
configureIndicator(config: any): Promise<any>;
getIndicatorConfig(): Promise<any>;
configureCollectionSubmission(autoSubmit: boolean): Promise<any>;
getCollectionSubmissionConfig(): Promise<any>;
exportPersona(persona: string): Promise<any>;
exportAllPersonas(includeDefaults?: boolean): Promise<any>;
importPersona(source: string, overwrite?: boolean): Promise<any>;
portfolioStatus(username?: string): Promise<any>;
initPortfolio(options: {
repositoryName?: string;
private?: boolean;
description?: string;
}): Promise<any>;
portfolioConfig(options: {
autoSync?: boolean;
defaultVisibility?: string;
autoSubmit?: boolean;
repositoryName?: string;
}): Promise<any>;
syncPortfolio(options: {
direction: string;
mode?: string;
force: boolean;
dryRun: boolean;
confirmDeletions?: boolean;
}): Promise<any>;
searchPortfolio(options: {
query: string;
elementType?: string;
fuzzyMatch?: boolean;
maxResults?: number;
includeKeywords?: boolean;
includeTags?: boolean;
includeTriggers?: boolean;
includeDescriptions?: boolean;
}): Promise<any>;
searchAll(options: {
query: string;
sources?: string[];
elementType?: string;
page?: number;
pageSize?: number;
sortBy?: string;
}): Promise<any>;
handleConfigOperation(options: any): Promise<any>;
handleSyncOperation(options: any): Promise<any>;
findSimilarElements(options: {
elementName: string;
elementType?: string;
limit: number;
threshold: number;
}): Promise<any>;
getElementRelationships(options: {
elementName: string;
elementType?: string;
relationshipTypes?: string[];
}): Promise<any>;
searchByVerb(options: {
verb: string;
limit: number;
}): Promise<any>;
getRelationshipStats(): Promise<any>;
}
//# sourceMappingURL=types.d.ts.map