constants.ts•2.8 kB
/**
* Commonly used tools in MCP
*/
import { ToolName } from './tools';
export enum PresetName {
/**
* Default preset including IM, Bitable, Doc and Contact tools
*/
DEFAULT = 'preset.default',
/**
* IM related tools for chat and message operations
*/
IM_DEFAULT = 'preset.im.default',
/**
* Base preset for base operations
*/
BASE_DEFAULT = 'preset.base.default',
/**
* Base tools with batch operations
*/
BASE_BATCH = 'preset.base.batch',
/**
* Document related tools for content and permission operations
*/
DOC_DEFAULT = 'preset.doc.default',
/**
* Task management related tools
*/
TASK_DEFAULT = 'preset.task.default',
/**
* Calendar event management tools
*/
CALENDAR_DEFAULT = 'preset.calendar.default',
}
export const presetContactToolNames: ToolName[] = ['contact.v3.user.batchGetId'];
export const presetImToolNames: ToolName[] = [
'im.v1.chat.create',
'im.v1.chat.list',
'im.v1.chatMembers.get',
'im.v1.message.create',
'im.v1.message.list',
];
export const presetBaseCommonToolNames: ToolName[] = [
'bitable.v1.app.create',
'bitable.v1.appTable.create',
'bitable.v1.appTable.list',
'bitable.v1.appTableField.list',
'bitable.v1.appTableRecord.search',
];
export const presetBaseToolNames: ToolName[] = [
...presetBaseCommonToolNames,
'bitable.v1.appTableRecord.create',
'bitable.v1.appTableRecord.update',
];
export const presetBaseRecordBatchToolNames: ToolName[] = [
...presetBaseCommonToolNames,
'bitable.v1.appTableRecord.batchCreate',
'bitable.v1.appTableRecord.batchUpdate',
];
export const presetDocToolNames: ToolName[] = [
'docx.v1.document.rawContent',
'docx.builtin.import',
'docx.builtin.search',
'drive.v1.permissionMember.create',
'wiki.v2.space.getNode',
'wiki.v1.node.search',
];
export const presetTaskToolNames: ToolName[] = [
'task.v2.task.create',
'task.v2.task.patch',
'task.v2.task.addMembers',
'task.v2.task.addReminders',
];
export const presetCalendarToolNames: ToolName[] = [
'calendar.v4.calendarEvent.create',
'calendar.v4.calendarEvent.patch',
'calendar.v4.calendarEvent.get',
'calendar.v4.freebusy.list',
'calendar.v4.calendar.primary',
];
export const defaultToolNames: ToolName[] = [
...presetImToolNames,
...presetBaseToolNames,
...presetDocToolNames,
...presetContactToolNames,
];
export const presetTools: Record<PresetName, ToolName[]> = {
[PresetName.DEFAULT]: defaultToolNames,
[PresetName.IM_DEFAULT]: presetImToolNames,
[PresetName.BASE_DEFAULT]: presetBaseToolNames,
[PresetName.BASE_BATCH]: presetBaseRecordBatchToolNames,
[PresetName.DOC_DEFAULT]: presetDocToolNames,
[PresetName.TASK_DEFAULT]: presetTaskToolNames,
[PresetName.CALENDAR_DEFAULT]: presetCalendarToolNames,
};