index.ts 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. /**
  2. * MCP Tools Registration
  3. *
  4. * Exports all tool configurations for registering with the MCP server.
  5. */
  6. import { authTools } from './auth-tools.js';
  7. import { userTools } from './user-tools.js';
  8. import { roleTools } from './role-tools.js';
  9. import { systemConfigTools } from './system-config-tools.js';
  10. import { orderTools } from './order-tools.js';
  11. import { areaTools } from './area-tools.js';
  12. import { companyTools } from './company-tools.js';
  13. import { fileTools } from './file-tools.js';
  14. import { bankNameTools } from './bank-name-tools.js';
  15. import { channelTools } from './channel-tools.js';
  16. import { disabilityTools } from './disability-tools.js';
  17. import { disabilityCompanyTools } from './disability-company-tools.js';
  18. import { platformTools } from './platform-tools.js';
  19. import { salaryTools } from './salary-tools.js';
  20. // Export all tool collections
  21. export const allTools = {
  22. ...authTools,
  23. ...userTools,
  24. ...roleTools,
  25. ...systemConfigTools,
  26. ...orderTools,
  27. ...areaTools,
  28. ...companyTools,
  29. ...fileTools,
  30. ...bankNameTools,
  31. ...channelTools,
  32. ...disabilityTools,
  33. ...disabilityCompanyTools,
  34. ...platformTools,
  35. ...salaryTools
  36. };
  37. // Export tool names for easy reference
  38. export const toolNames = {
  39. // Auth tools
  40. getCurrentUser: 'admin_get_current_user',
  41. // User tools
  42. userList: 'admin_list_users',
  43. userGet: 'admin_get_user',
  44. userCreate: 'admin_create_user',
  45. userUpdate: 'admin_update_user',
  46. userDelete: 'admin_delete_user',
  47. // Role tools
  48. roleList: 'admin_list_roles',
  49. roleGet: 'admin_get_role',
  50. roleCreate: 'admin_create_role',
  51. roleUpdate: 'admin_update_role',
  52. roleDelete: 'admin_delete_role',
  53. // System config tools
  54. systemConfigList: 'admin_list_system_configs',
  55. systemConfigGet: 'admin_get_system_config',
  56. systemConfigCreate: 'admin_create_system_config',
  57. systemConfigUpdate: 'admin_update_system_config',
  58. systemConfigDelete: 'admin_delete_system_config',
  59. // Order tools
  60. orderList: 'admin_list_orders',
  61. orderGet: 'admin_get_order',
  62. orderCreate: 'admin_create_order',
  63. orderUpdate: 'admin_update_order',
  64. orderDelete: 'admin_delete_order',
  65. // Area tools
  66. areaList: 'admin_list_areas',
  67. areaGet: 'admin_get_area',
  68. areaGetTree: 'admin_get_area_tree',
  69. areaCreate: 'admin_create_area',
  70. areaUpdate: 'admin_update_area',
  71. areaDelete: 'admin_delete_area',
  72. // Company tools
  73. companyList: 'admin_list_companies',
  74. companyGet: 'admin_get_company',
  75. companyCreate: 'admin_create_company',
  76. companyUpdate: 'admin_update_company',
  77. companyDelete: 'admin_delete_company',
  78. // File tools
  79. fileList: 'admin_list_files',
  80. fileGet: 'admin_get_file',
  81. fileDelete: 'admin_delete_file',
  82. // Bank name tools
  83. bankNameList: 'admin_list_bank_names',
  84. bankNameGet: 'admin_get_bank_name',
  85. bankNameCreate: 'admin_create_bank_name',
  86. bankNameUpdate: 'admin_update_bank_name',
  87. bankNameDelete: 'admin_delete_bank_name',
  88. // Channel tools
  89. channelList: 'admin_list_channels',
  90. channelGet: 'admin_get_channel',
  91. channelCreate: 'admin_create_channel',
  92. channelUpdate: 'admin_update_channel',
  93. channelDelete: 'admin_delete_channel',
  94. // Disabled person tools
  95. disabledPersonList: 'admin_list_disabled_persons',
  96. disabledPersonGet: 'admin_get_disabled_person',
  97. disabledPersonCreate: 'admin_create_disabled_person',
  98. disabledPersonUpdate: 'admin_update_disabled_person',
  99. disabledPersonDelete: 'admin_delete_disabled_person',
  100. // Disability company query tools
  101. queryDisabilityCompany: 'admin_query_disability_company',
  102. // Platform tools
  103. platformList: 'admin_list_platforms',
  104. platformGet: 'admin_get_platform',
  105. platformCreate: 'admin_create_platform',
  106. platformUpdate: 'admin_update_platform',
  107. platformDelete: 'admin_delete_platform',
  108. platformToggleStatus: 'admin_toggle_platform_status',
  109. // Salary tools
  110. salaryList: 'admin_list_salaries',
  111. salaryGet: 'admin_get_salary',
  112. salaryCreate: 'admin_create_salary',
  113. salaryUpdate: 'admin_update_salary',
  114. salaryDelete: 'admin_delete_salary'
  115. };
  116. // Export tool categories for documentation
  117. export const toolCategories = {
  118. auth: {
  119. name: 'Authentication',
  120. description: 'Tools for admin authentication',
  121. tools: [toolNames.getCurrentUser]
  122. },
  123. users: {
  124. name: 'User Management',
  125. description: 'Tools for managing system users',
  126. tools: [toolNames.userList, toolNames.userGet, toolNames.userCreate, toolNames.userUpdate, toolNames.userDelete]
  127. },
  128. roles: {
  129. name: 'Role Management',
  130. description: 'Tools for managing user roles and permissions',
  131. tools: [toolNames.roleList, toolNames.roleGet, toolNames.roleCreate, toolNames.roleUpdate, toolNames.roleDelete]
  132. },
  133. systemConfig: {
  134. name: 'System Configuration',
  135. description: 'Tools for managing system configuration',
  136. tools: [toolNames.systemConfigList, toolNames.systemConfigGet, toolNames.systemConfigCreate, toolNames.systemConfigUpdate, toolNames.systemConfigDelete]
  137. },
  138. orders: {
  139. name: 'Order Management',
  140. description: 'Tools for managing orders',
  141. tools: [toolNames.orderList, toolNames.orderGet, toolNames.orderCreate, toolNames.orderUpdate, toolNames.orderDelete]
  142. },
  143. areas: {
  144. name: 'Geographic Area Management',
  145. description: 'Tools for managing provinces, cities, and districts',
  146. tools: [toolNames.areaList, toolNames.areaGet, toolNames.areaGetTree, toolNames.areaCreate, toolNames.areaUpdate, toolNames.areaDelete]
  147. },
  148. companies: {
  149. name: 'Company Management',
  150. description: 'Tools for managing companies',
  151. tools: [toolNames.companyList, toolNames.companyGet, toolNames.companyCreate, toolNames.companyUpdate, toolNames.companyDelete]
  152. },
  153. files: {
  154. name: 'File Management',
  155. description: 'Tools for managing files',
  156. tools: [toolNames.fileList, toolNames.fileGet, toolNames.fileDelete]
  157. },
  158. bankNames: {
  159. name: 'Bank Name Management',
  160. description: 'Tools for managing bank names',
  161. tools: [toolNames.bankNameList, toolNames.bankNameGet, toolNames.bankNameCreate, toolNames.bankNameUpdate, toolNames.bankNameDelete]
  162. },
  163. channels: {
  164. name: 'Channel Management',
  165. description: 'Tools for managing channels',
  166. tools: [toolNames.channelList, toolNames.channelGet, toolNames.channelCreate, toolNames.channelUpdate, toolNames.channelDelete]
  167. },
  168. disability: {
  169. name: 'Disabled Person Management',
  170. description: 'Tools for managing disabled persons',
  171. tools: [toolNames.disabledPersonList, toolNames.disabledPersonGet, toolNames.disabledPersonCreate, toolNames.disabledPersonUpdate, toolNames.disabledPersonDelete]
  172. },
  173. disabilityCompany: {
  174. name: 'Disability Company Query',
  175. description: 'Tools for querying disabled persons with company information',
  176. tools: [toolNames.queryDisabilityCompany]
  177. },
  178. platforms: {
  179. name: 'Platform Management',
  180. description: 'Tools for managing platforms',
  181. tools: [toolNames.platformList, toolNames.platformGet, toolNames.platformCreate, toolNames.platformUpdate, toolNames.platformDelete, toolNames.platformToggleStatus]
  182. },
  183. salaries: {
  184. name: 'Salary Level Management',
  185. description: 'Tools for managing salary levels',
  186. tools: [toolNames.salaryList, toolNames.salaryGet, toolNames.salaryCreate, toolNames.salaryUpdate, toolNames.salaryDelete]
  187. }
  188. };