
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-12-04 17:12:55 +01:00
2025-12-04 17:03:22 +01:00
2025-12-01 11:44:35 +01:00
2025-11-16 18:20:06 +01:00
2025-12-04 21:21:31 +01:00
2025-11-17 08:16:56 +01:00
2025-12-01 14:44:19 +00:00
2025-12-04 17:22:21 +00:00
2025-12-04 17:03:22 +01:00
2025-12-04 22:21:16 +01:00
2025-12-04 17:39:12 +01:00
2025-12-02 14:00:58 +01:00
2025-10-22 11:42:24 +02:00
2025-12-03 18:32:49 +01:00
2025-11-03 11:42:28 +01:00