@govcraft/payload-cms-mcp 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +164 -0
  2. package/dist/config/index.d.ts +27 -0
  3. package/dist/config/index.js +31 -0
  4. package/dist/config/index.js.map +1 -0
  5. package/dist/controllers/mcp.controller.d.ts +7 -0
  6. package/dist/controllers/mcp.controller.js +328 -0
  7. package/dist/controllers/mcp.controller.js.map +1 -0
  8. package/dist/controllers/payload-mcp.controller.d.ts +4 -0
  9. package/dist/controllers/payload-mcp.controller.js +185 -0
  10. package/dist/controllers/payload-mcp.controller.js.map +1 -0
  11. package/dist/generate-tools.d.ts +1 -0
  12. package/dist/generate-tools.js +1417 -0
  13. package/dist/generate-tools.js.map +1 -0
  14. package/dist/index.d.ts +2 -0
  15. package/dist/index.js +16 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/mcp/anthropic-mcp.d.ts +3 -0
  18. package/dist/mcp/anthropic-mcp.js +332 -0
  19. package/dist/mcp/anthropic-mcp.js.map +1 -0
  20. package/dist/mcp/generated/index.d.ts +44 -0
  21. package/dist/mcp/generated/index.js +45 -0
  22. package/dist/mcp/generated/index.js.map +1 -0
  23. package/dist/mcp/generated/payload-tools.d.ts +7 -0
  24. package/dist/mcp/generated/payload-tools.js +69 -0
  25. package/dist/mcp/generated/payload-tools.js.map +1 -0
  26. package/dist/mcp/generated/payload-tools.json +13024 -0
  27. package/dist/mcp/generated/tools/create.json +9138 -0
  28. package/dist/mcp/generated/tools/createAccess.json +10 -0
  29. package/dist/mcp/generated/tools/createAfterChangeHook.json +9 -0
  30. package/dist/mcp/generated/tools/createAfterDeleteHook.json +9 -0
  31. package/dist/mcp/generated/tools/createAfterErrorHook.json +9 -0
  32. package/dist/mcp/generated/tools/createAfterForgotPasswordHook.json +9 -0
  33. package/dist/mcp/generated/tools/createAfterLoginHook.json +9 -0
  34. package/dist/mcp/generated/tools/createAfterLogoutHook.json +9 -0
  35. package/dist/mcp/generated/tools/createAfterMeHook.json +9 -0
  36. package/dist/mcp/generated/tools/createAfterOperationHook.json +9 -0
  37. package/dist/mcp/generated/tools/createAfterReadHook.json +9 -0
  38. package/dist/mcp/generated/tools/createAfterRefreshHook.json +9 -0
  39. package/dist/mcp/generated/tools/createArrayField.json +90 -0
  40. package/dist/mcp/generated/tools/createBeforeChangeHook.json +9 -0
  41. package/dist/mcp/generated/tools/createBeforeDeleteHook.json +9 -0
  42. package/dist/mcp/generated/tools/createBeforeLoginHook.json +9 -0
  43. package/dist/mcp/generated/tools/createBeforeOperationHook.json +9 -0
  44. package/dist/mcp/generated/tools/createBeforeReadHook.json +9 -0
  45. package/dist/mcp/generated/tools/createBeforeValidateHook.json +9 -0
  46. package/dist/mcp/generated/tools/createBlocksField.json +79 -0
  47. package/dist/mcp/generated/tools/createCodeField.json +79 -0
  48. package/dist/mcp/generated/tools/createCollection.json +422 -0
  49. package/dist/mcp/generated/tools/createCollectionAdminOptions.json +2789 -0
  50. package/dist/mcp/generated/tools/createDateField.json +84 -0
  51. package/dist/mcp/generated/tools/createEmailField.json +87 -0
  52. package/dist/mcp/generated/tools/createField.json +31 -0
  53. package/dist/mcp/generated/tools/createGlobal.json +220 -0
  54. package/dist/mcp/generated/tools/createGroupField.json +79 -0
  55. package/dist/mcp/generated/tools/createJSONField.json +79 -0
  56. package/dist/mcp/generated/tools/createJoinField.json +79 -0
  57. package/dist/mcp/generated/tools/createMeHook.json +9 -0
  58. package/dist/mcp/generated/tools/createNumberField.json +31 -0
  59. package/dist/mcp/generated/tools/createPointField.json +79 -0
  60. package/dist/mcp/generated/tools/createPolymorphicRelationshipField.json +31 -0
  61. package/dist/mcp/generated/tools/createRadioField.json +94 -0
  62. package/dist/mcp/generated/tools/createRefreshHook.json +9 -0
  63. package/dist/mcp/generated/tools/createRelationshipField.json +31 -0
  64. package/dist/mcp/generated/tools/createRichTextField.json +79 -0
  65. package/dist/mcp/generated/tools/createSelectField.json +31 -0
  66. package/dist/mcp/generated/tools/createSingleRelationshipField.json +31 -0
  67. package/dist/mcp/generated/tools/createTextField.json +31 -0
  68. package/dist/mcp/generated/tools/createTextareaField.json +87 -0
  69. package/dist/mcp/generated/tools/createUploadField.json +31 -0
  70. package/dist/mcp/handler.d.ts +6 -0
  71. package/dist/mcp/handler.js +147 -0
  72. package/dist/mcp/handler.js.map +1 -0
  73. package/dist/mcp/index.d.ts +1 -0
  74. package/dist/mcp/index.js +28 -0
  75. package/dist/mcp/index.js.map +1 -0
  76. package/dist/mcp/io/index.d.ts +2 -0
  77. package/dist/mcp/io/index.js +31 -0
  78. package/dist/mcp/io/index.js.map +1 -0
  79. package/dist/mcp/io/stdin.d.ts +2 -0
  80. package/dist/mcp/io/stdin.js +118 -0
  81. package/dist/mcp/io/stdin.js.map +1 -0
  82. package/dist/mcp/session.d.ts +16 -0
  83. package/dist/mcp/session.js +85 -0
  84. package/dist/mcp/session.js.map +1 -0
  85. package/dist/mcp/sse.d.ts +10 -0
  86. package/dist/mcp/sse.js +86 -0
  87. package/dist/mcp/sse.js.map +1 -0
  88. package/dist/mcp/tools/calculator.d.ts +2 -0
  89. package/dist/mcp/tools/calculator.js +68 -0
  90. package/dist/mcp/tools/calculator.js.map +1 -0
  91. package/dist/mcp/tools/index.d.ts +3 -0
  92. package/dist/mcp/tools/index.js +6 -0
  93. package/dist/mcp/tools/index.js.map +1 -0
  94. package/dist/mcp/tools/list-tools.d.ts +2 -0
  95. package/dist/mcp/tools/list-tools.js +47 -0
  96. package/dist/mcp/tools/list-tools.js.map +1 -0
  97. package/dist/mcp/tools/payload-tools-loader.d.ts +2 -0
  98. package/dist/mcp/tools/payload-tools-loader.js +21 -0
  99. package/dist/mcp/tools/payload-tools-loader.js.map +1 -0
  100. package/dist/mcp/types.d.ts +69 -0
  101. package/dist/mcp/types.js +2 -0
  102. package/dist/mcp/types.js.map +1 -0
  103. package/dist/middleware/errorHandler.d.ts +14 -0
  104. package/dist/middleware/errorHandler.js +25 -0
  105. package/dist/middleware/errorHandler.js.map +1 -0
  106. package/dist/middleware/notFoundHandler.d.ts +2 -0
  107. package/dist/middleware/notFoundHandler.js +8 -0
  108. package/dist/middleware/notFoundHandler.js.map +1 -0
  109. package/dist/routes/health.d.ts +2 -0
  110. package/dist/routes/health.js +18 -0
  111. package/dist/routes/health.js.map +1 -0
  112. package/dist/routes/mcp.d.ts +2 -0
  113. package/dist/routes/mcp.js +11 -0
  114. package/dist/routes/mcp.js.map +1 -0
  115. package/dist/routes/payload-mcp.routes.d.ts +3 -0
  116. package/dist/routes/payload-mcp.routes.js +8 -0
  117. package/dist/routes/payload-mcp.routes.js.map +1 -0
  118. package/dist/utils/logger.d.ts +2 -0
  119. package/dist/utils/logger.js +35 -0
  120. package/dist/utils/logger.js.map +1 -0
  121. package/package.json +64 -0
@@ -0,0 +1,185 @@
1
+ import { v4 as uuidv4 } from 'uuid';
2
+ import { logger } from '../utils/logger.js';
3
+ import { payloadTools } from '../mcp/generated/payload-tools.js';
4
+ import { tools as customTools } from '../mcp/tools/index.js';
5
+ import { initializeSSE, sendMessageToClient, hasActiveConnection } from '../mcp/sse.js';
6
+ import { sessionManager } from '../mcp/session.js';
7
+ export async function handlePayloadMCPSSEConnection(req, res) {
8
+ try {
9
+ let sessionId = req.query.sessionId;
10
+ if (!sessionId) {
11
+ const session = sessionManager.createSession({});
12
+ sessionId = session.id;
13
+ }
14
+ else if (!sessionManager.getSession(sessionId)) {
15
+ const session = sessionManager.createSession({});
16
+ sessionId = session.id;
17
+ }
18
+ initializeSSE(res, sessionId);
19
+ }
20
+ catch (error) {
21
+ logger.error('Error establishing Payload MCP SSE connection', { error });
22
+ res.status(500).json({
23
+ error: 'Internal server error',
24
+ message: error instanceof Error ? error.message : String(error)
25
+ });
26
+ }
27
+ }
28
+ export async function handlePayloadMCPSSERequest(req, res) {
29
+ try {
30
+ const { model, tools, context = [] } = req.body;
31
+ const sessionId = req.headers['x-mcp-session-id'];
32
+ if (!sessionId) {
33
+ res.status(400).json({
34
+ error: 'Bad request',
35
+ message: 'Session ID is required for SSE requests'
36
+ });
37
+ return;
38
+ }
39
+ if (!hasActiveConnection(sessionId)) {
40
+ res.status(400).json({
41
+ error: 'Bad request',
42
+ message: 'No active SSE connection for this session'
43
+ });
44
+ return;
45
+ }
46
+ logger.debug('Received Payload MCP SSE request', { model, toolsCount: tools?.length });
47
+ res.status(202).json({
48
+ id: uuidv4(),
49
+ message: 'Request accepted and being processed'
50
+ });
51
+ try {
52
+ const allTools = [...payloadTools, ...customTools];
53
+ const toolsMap = allTools.reduce((acc, tool) => {
54
+ acc[tool.name] = tool;
55
+ return acc;
56
+ }, {});
57
+ const toolResults = [];
58
+ if (tools && Array.isArray(tools)) {
59
+ for (const tool of tools) {
60
+ const { name, parameters } = tool;
61
+ if (!toolsMap[name]) {
62
+ logger.warn(`Tool not found: ${name}`);
63
+ toolResults.push({
64
+ tool_name: name,
65
+ output: { error: `Tool not found: ${name}` }
66
+ });
67
+ continue;
68
+ }
69
+ logger.debug(`Executing tool: ${name}`, { parameters });
70
+ try {
71
+ const result = await toolsMap[name].handler(parameters);
72
+ toolResults.push({
73
+ tool_name: name,
74
+ output: result
75
+ });
76
+ context.push({
77
+ id: uuidv4(),
78
+ data: result
79
+ });
80
+ }
81
+ catch (error) {
82
+ const errorMessage = error instanceof Error ? error.message : String(error);
83
+ logger.error(`Error executing tool: ${name}`, { error, parameters });
84
+ toolResults.push({
85
+ tool_name: name,
86
+ output: { error: `Error executing tool: ${errorMessage}` }
87
+ });
88
+ }
89
+ }
90
+ }
91
+ const response = {
92
+ id: uuidv4(),
93
+ type: 'response',
94
+ timestamp: new Date().toISOString(),
95
+ payload: {
96
+ context,
97
+ tool_results: toolResults.length > 0 ? toolResults : undefined
98
+ }
99
+ };
100
+ sendMessageToClient(sessionId, response);
101
+ }
102
+ catch (error) {
103
+ const errorMessage = error instanceof Error ? error.message : String(error);
104
+ logger.error('Error processing Payload MCP SSE request', { error });
105
+ const errorResponse = {
106
+ id: uuidv4(),
107
+ type: 'error',
108
+ timestamp: new Date().toISOString(),
109
+ payload: {
110
+ code: 'processing_error',
111
+ message: errorMessage
112
+ }
113
+ };
114
+ sendMessageToClient(sessionId, errorResponse);
115
+ }
116
+ }
117
+ catch (error) {
118
+ const errorMessage = error instanceof Error ? error.message : String(error);
119
+ logger.error('Error handling Payload MCP SSE request', { error });
120
+ res.status(500).json({
121
+ error: 'Internal server error',
122
+ message: errorMessage
123
+ });
124
+ }
125
+ }
126
+ export async function handlePayloadMCPRequest(req, res) {
127
+ try {
128
+ const { model, tools, context = [] } = req.body;
129
+ logger.debug('Received Payload MCP request', { model, toolsCount: tools?.length });
130
+ const allTools = [...payloadTools, ...customTools];
131
+ const toolsMap = allTools.reduce((acc, tool) => {
132
+ acc[tool.name] = tool;
133
+ return acc;
134
+ }, {});
135
+ const toolResults = [];
136
+ if (tools && Array.isArray(tools)) {
137
+ for (const tool of tools) {
138
+ const { name, parameters } = tool;
139
+ if (!toolsMap[name]) {
140
+ logger.warn(`Tool not found: ${name}`);
141
+ toolResults.push({
142
+ tool_name: name,
143
+ output: { error: `Tool not found: ${name}` }
144
+ });
145
+ continue;
146
+ }
147
+ logger.debug(`Executing tool: ${name}`, { parameters });
148
+ try {
149
+ const result = await toolsMap[name].handler(parameters);
150
+ toolResults.push({
151
+ tool_name: name,
152
+ output: result
153
+ });
154
+ context.push({
155
+ id: uuidv4(),
156
+ data: result
157
+ });
158
+ }
159
+ catch (error) {
160
+ const errorMessage = error instanceof Error ? error.message : String(error);
161
+ logger.error(`Error executing tool: ${name}`, { error, parameters });
162
+ toolResults.push({
163
+ tool_name: name,
164
+ output: { error: `Error executing tool: ${errorMessage}` }
165
+ });
166
+ }
167
+ }
168
+ }
169
+ const response = {
170
+ id: uuidv4(),
171
+ context,
172
+ tool_results: toolResults.length > 0 ? toolResults : undefined
173
+ };
174
+ res.json(response);
175
+ }
176
+ catch (error) {
177
+ const errorMessage = error instanceof Error ? error.message : String(error);
178
+ logger.error('Error handling Payload MCP request', { error });
179
+ res.status(500).json({
180
+ error: 'Internal server error',
181
+ message: errorMessage
182
+ });
183
+ }
184
+ }
185
+ //# sourceMappingURL=payload-mcp.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload-mcp.controller.js","sourceRoot":"","sources":["../../src/controllers/payload-mcp.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};