@dav3/mcp-dynamics365-server
Version:
Generic MCP server for Dynamics 365 CRM operations (AI-generated side project with limited maintenance)
49 lines (48 loc) • 1.89 kB
TypeScript
import { D365ApiResponse, D365Config, D365DetailedAttributeMetadata, D365EntityMetadata, D365QueryOptions, D365QueryResult, HttpMethod } from "./types.js";
export declare class D365ApiClient {
private authService;
private baseUrl;
constructor(config: D365Config);
/**
* Get metadata for a specific entity
*/
getEntityMetadata(entityName: string, includeAttributes?: boolean): Promise<D365ApiResponse<D365EntityMetadata>>;
/**
* Get detailed metadata for a specific attribute of an entity
*/
getAttributeMetadata(entityName: string, attributeName: string): Promise<D365ApiResponse<D365DetailedAttributeMetadata>>;
/**
* Get all entity sets (list of available entities)
*/
getEntitySets(): Promise<D365ApiResponse<string[]>>;
/**
* Query entities with flexible options
*/
queryEntities(entitySet: string, options?: D365QueryOptions): Promise<D365ApiResponse<D365QueryResult>>;
/**
* Get a specific entity by ID
*/
getEntity(entitySet: string, id: string, select?: string[]): Promise<D365ApiResponse<any>>;
/**
* Create a new entity
*/
createEntity(entitySet: string, data: Record<string, any>): Promise<D365ApiResponse<any>>;
/**
* Update an existing entity
*/
updateEntity(entitySet: string, id: string, data: Record<string, any>): Promise<D365ApiResponse<any>>;
/**
* Delete an entity
*/
deleteEntity(entitySet: string, id: string): Promise<D365ApiResponse<any>>;
/**
* Execute a custom OData query
*/
executeCustomQuery(odataQuery: string): Promise<D365ApiResponse<any>>;
/**
* Execute a function or action
*/
executeFunction(functionName: string, parameters?: Record<string, any>, method?: HttpMethod): Promise<D365ApiResponse<any>>;
private buildQueryParams;
private handleError;
}