@baruchiro/paperless-mcp
Version:
Model Context Protocol (MCP) server for interacting with Paperless-NGX document management system. Enables AI assistants to manage documents, tags, correspondents, and document types through the Paperless-NGX API.
34 lines (33 loc) • 2.3 kB
TypeScript
import { BulkEditDocumentsResult, BulkEditParameters, Correspondent, CustomField, Document, DocumentsResponse, DocumentType, GetCorrespondentsResponse, GetCustomFieldsResponse, GetDocumentTypesResponse, GetTagsResponse, Tag } from "./types";
export declare class PaperlessAPI {
private readonly baseUrl;
private readonly token;
constructor(baseUrl: string, token: string);
request<T = any>(path: string, options?: RequestInit): Promise<T>;
bulkEditDocuments(documents: number[], method: string, parameters?: BulkEditParameters): Promise<BulkEditDocumentsResult>;
postDocument(file: File, metadata?: Record<string, string | string[] | number | number[]>): Promise<string>;
getDocuments(query?: string): Promise<DocumentsResponse>;
getDocument(id: number): Promise<Document>;
updateDocument(id: number, data: Partial<Document>): Promise<Document>;
searchDocuments(query: string): Promise<DocumentsResponse>;
downloadDocument(id: number, asOriginal?: boolean): Promise<import("axios").AxiosResponse<any, any>>;
getTags(): Promise<GetTagsResponse>;
createTag(data: Partial<Tag>): Promise<Tag>;
updateTag(id: number, data: Partial<Tag>): Promise<Tag>;
deleteTag(id: number): Promise<void>;
getCorrespondents(queryString?: string): Promise<GetCorrespondentsResponse>;
getCorrespondent(id: number): Promise<Correspondent>;
createCorrespondent(data: Partial<Correspondent>): Promise<Correspondent>;
updateCorrespondent(id: number, data: Partial<Correspondent>): Promise<Correspondent>;
deleteCorrespondent(id: number): Promise<void>;
getDocumentTypes(): Promise<GetDocumentTypesResponse>;
createDocumentType(data: Partial<DocumentType>): Promise<DocumentType>;
updateDocumentType(id: number, data: Partial<DocumentType>): Promise<DocumentType>;
deleteDocumentType(id: number): Promise<void>;
getCustomFields(): Promise<GetCustomFieldsResponse>;
getCustomField(id: number): Promise<CustomField>;
createCustomField(data: Partial<CustomField>): Promise<CustomField>;
updateCustomField(id: number, data: Partial<CustomField>): Promise<CustomField>;
deleteCustomField(id: number): Promise<void>;
bulkEditObjects(objects: any, objectType: any, operation: any, parameters?: {}): Promise<any>;
}