Files
directus/api
daedalus ca8bdff41f Add mcp support (#25578)
* init

* initial tool

* cleanup

* prefer server over mcpserver

* add admin tool check

* type defineTool

* update ping tool

* improve tool handling

* update tool definition

* rework typres and add initial tool

* add schema to input

* add schema to handler opts

* add system prompt

* rename defineTool types

* Update tool.ts

* handle zod errors

* return correct format

* fix tool list

* prefer names from tool definition

* continue items improv

* return zod as schema output

* pass data down from zod parse

* handle no input schema tool

* update response format

* add handler note

* Ensure collection exists before access

* prefer name in tool file

* remove redundant message

* fix type issue and typo

* sanitize query

* add singleton support

* add remaining item tool commands

* support validate schema

* remove single actions and deleteByQuery

* fix toarray import

* updated tool types

* add back missing rpc message import

* remove unnecessary input schema

* updated tool registration

* separate schema

* removed partial

* remove tool name prefix on schema

* file tool wip

* pass down correct collection for folders/files

* fix global list

* add base64 asset retrieval support

* enable files tool

* add multi tool result type support

* add schema tool

* add missing file schema to files tool

* add create singleton support

* fixed system tool missing inputSchema

* inputschema is not optional

* initial flows tools

* forgot to push the index

* fix closing the connection

* Update server.ts

* format

* revert

* inputSchema is not optional

* add notification handler

* fix tool handlers

* simplified express handler and fixed non-closing get requests from inspector

* add comment

* changed sse error code

* small tweaks

* auto sanitize query

* utilize relevant file/folder service over generic item

* prefer admin flag over explicit check

* add base description

* updated flows

* improve overview command

* dont include invalid field properties

* fix typings for schema overview

* add note to schema overview

* add schema overview interface choices

* reorg

* remove util and default opt out of mcp prevent delete

* fixed unreturned code paths

* fix service typing

* prevent delete should be opt in

* fix import

* fmt

* fix query

* added flows tool test

* added some tool util funcs for better testing

* return deleted keys on item delete

* add item tool tests

* Update items.test.ts

* fix delete for schema tool

* add schema tests

* export the transport class

* make handleRequest async

* await the handleREquest function

* reverted misleading async change

* Added awaiting to server tests

* added some files tests

* fmt

* fix mcp file test types

* move collection, field and relation to their own tools

* Add prompts

* enable trigger flow

* improve prompts

* test wip

* add prompts to build

* remove invalid args for schema tools

* finish collection and field tests

* finish relation tests

* add catalog for mcp sdk

* prefer zod builtin for json schema conversion

* Do not use custom types in json schema

* fix data extraction and validation process

* do not allow additional properties

* MCP -> Schema Tool and Prompt Updates (#25617)

* separate system prompt description and system prompt

* stop duplicating field names to save context

* fetch only collections list first - add keys to fetch detailed schema

* updated schema prompt

* add repeater support for schema tool

* add collection item dropdown support

* items prompt

* long form prompts (need to tighten and condense)

* simplified query schema

* fmt

* Improve typings

* add basic prompt support and add type file

* add query support

* Finalize prompt support

* remove outdata env values

* MCP settings page (#25687)

* Render MCP in all caps

* Bootstrap AI settings page

* Add migration for mcp settings

* Add translations for mcp settings

* Setup fields in system data

* Add more translations

* Add use-collection-validation composable

* Bootstrap mcp prompts validation interface

* Finish settings page

* Add changeset

* Run formatter and resolve stylelint warning

* remove changeset

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* remove unnecessary object strict changes

* revert import ordering

* designate specific file per tool

* default delete to disabled

* account for empty messages

* remove custom type for relation item

* MCP -> Schema Tool -> Add support for relationships (#25693)

* rough in relations for schema detail

* Update schema.ts

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* cleanup schemas

* MCP Settings -> Improvements (#25696)

* add sidebar component for consistency

* add the translations we can for mcp prompts schema

* fix icon for collection

* set proper order

* clean up interaction

* handle edge case where ai prompts collection is deleted but value still saved in settings

* Ignore AI settings in general settings (#25698)

* add system prompt override

* allow disabling system prompt

* add import from url option to files tool

* remove legacy type arg

* add url to result

* add url to flows

* add endpoint for read

* add url display to prompt

* add changeset

* fmt

* Do not utilize custom type in file import

* Improve appearance of v-notice components (in the MCP settings) (#25714)

* add indentContent prop to v-notice for improved alignment of slot content and change appearance of the button inside the v-notice

* add snapshot

* fix mcp system prompt note display

* Add dynamic mimetype and audio support

* Allow disabling mcp feature via env

* update changeset

* MCP -> Update Settings Labels and Notes (#25725)

* update copy for settings labels and descriptions

* add divider

* suggestions from mtkg team

* use success notice when validated

* update validation success msg

* add top notice

* just the endpoint and nothing but the endpoint

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* fix systemPrompt to system_prompt

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* utilize flow service for definition and limit to manual flows

* remove unnecessary check

* fmt

* ensure json expected fields are json

* Update folder tests

* prefer test

* add asset tool tests

* improve mcp test typing for folder and asset

* update collection tests

* prefer plural tool naming

* update field tests

* remove create action for files

* update file tests

* update flow tests

* update item tests

* update operation tests

* update relation tests

* add system tests

* Update trigger flow tests

* reorg asset error test to error handling

* add admin accountability for relation tests

* update schema tests

* prefer test over it

* add admin check

* prefer aftereach for clear mock

* improve protocol error

* MCP -> Possible Relations Tool Fix (#25754)

* remove extra try catch and switch to zod v4 built in errors

* replace custom schemas

* replace schemas

* resolve typing and format

* prefer discriminate union for actions

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* add json rpc error for invalid prompt

* prefer non protocol for tools and fix protocal errors for prompts

* promptsCollection should be optional

* fix server issues

* update server tests

* fix useCollectionValidation tests

* Remove remaining file create artifacts

* Remove custom types to allow proper validation

* restrict access to non public

* adjust schema tool to be non admin

* fix schema tool tests

* add non admin tool check in tests

* allow either field or data.field for relation create

* 405 to indicate no stream support

* ensure system accountability is not admin

* MCP Prompt Cleanup (#25745)

* asset-tool prompt

* trim files prompt

* remove tags example

* remove create from files prompt

* cleanup collection

* cleanup items

* add missing examples to operations

* add xml structure to improve comprehension

* flows and operations improvements

* remove create action from files tool

* fix query schema

* remove reused ref for OpenAI support

* update fields

* cleanup collections

* detailed field example

* cleanup folder

* update relations

* unconfuse folders and collection folders

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* fmt

* FlowItemInputSchema should be partial

* Fix operation tool input schema

* Fix schema tool tests

* MCP -> Improve collections tool prompts (#25781)

* Fix collection <> folder issue

* improve system fields handling

* Add asset downscaling

* fmt

* Add tool title annotation and prefix name with `directus`

* Fix tests for updated naming

* improve asset tests

* Update title to correct location

* Improve `inputSchema` for LLM ingestion (#25789)

* do not use top level unions

* support multi field create

* update prompt

* support transaction al calls on fieldsService methods

* cleanup

---------

Co-authored-by: bryantgillespie <hey@bryantgillespie.com>

* update field tests

* fix relations prompt

* Do not skip internal collections as long as permissions allow

* Update api/src/services/server.ts

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* Update app.ts

Co-Authored-By: Brainslug <br41nslug@users.noreply.github.com>

* whoops

* revert ws changes

---------

Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Bryant Gillespie <bryant@hireclockwork.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
Co-authored-by: bryantgillespie <hey@bryantgillespie.com>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
2025-09-15 22:02:40 +02:00
..
2025-09-15 22:02:40 +02:00
2025-01-02 15:37:30 +01:00
2025-09-15 22:02:40 +02:00