
Félix MalfaitandGitHub
34d7d82099
refactor(mcp): call metadata services directly instead of REST layer (#16349)
## Summary
Refactors MCP metadata tools to call underlying services directly
instead of going through the REST layer. This makes MCP a pure
presentation layer.
### Changes
**Created:**
-
`packages/twenty-server/src/engine/metadata-modules/metadata-tools/metadata-tools.module.ts`
- Module that exports MetadataToolsFactory
-
`packages/twenty-server/src/engine/metadata-modules/metadata-tools/services/metadata-tools.factory.ts`
- Factory that generates 8 metadata tools using Zod schemas:
- `get-object-metadata`, `create-object-metadata`,
`update-object-metadata`, `delete-object-metadata`
- `get-field-metadata`, `create-field-metadata`,
`update-field-metadata`, `delete-field-metadata`
**Modified:**
-
`packages/twenty-server/src/engine/api/mcp/services/mcp-metadata.service.ts`
- Uses new factory instead of REST-based services
- `packages/twenty-server/src/engine/api/mcp/mcp.module.ts` - Imports
MetadataToolsModule, removes old service imports
**Deleted:**
-
`packages/twenty-server/src/engine/api/mcp/services/tools/create.tools.service.ts`
-
`packages/twenty-server/src/engine/api/mcp/services/tools/update.tools.service.ts`
-
`packages/twenty-server/src/engine/api/mcp/services/tools/delete.tools.service.ts`
-
`packages/twenty-server/src/engine/api/mcp/services/tools/get.tools.service.ts`
-
`packages/twenty-server/src/engine/api/mcp/services/tools/mcp-metadata-tools.service.ts`
### Architecture Improvement
**Before:**
```
MCP Tool → MetadataQueryBuilderFactory → RestApiService → GraphQL API → Service
```
**After:**
```
MCP Tool → Service (ObjectMetadataService / FieldMetadataService)
```
This follows the pattern established by `direct-record-tools.factory.ts`
and workflow tools.
2025-12-04 22:21:16 +01:00
..
2025-09-29 13:31:55 +02:00
2025-11-13 16:06:04 +00:00
2025-11-19 17:13:07 +01:00
2025-12-04 22:21:16 +01:00
2025-12-04 21:06:49 +01:00
2025-10-31 17:46:58 +01:00
2025-11-24 18:57:47 +01:00
2024-09-20 11:02:52 +02:00
2025-02-07 10:05:07 +01:00
2025-09-10 15:12:38 +02:00
2025-09-23 18:07:53 +02:00
2025-08-19 18:10:35 +02:00
2025-07-31 12:00:59 +02:00
2025-11-16 18:20:06 +01:00
2025-12-04 14:32:41 +01:00
2025-11-16 18:20:06 +01:00
2025-08-11 14:10:04 +02:00
2025-11-16 18:20:06 +01:00
2024-09-20 11:02:52 +02:00