* 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>
* Dangerously update API deps
* Dangerously move app dependencies to pnpm-workspace
* Move all dependencies to catalog
* Sort catalog
* Pnpm update
* Use pnpm 10.14
* Update for zod breaking change
* Fix unhead breaking change
* Downgrade major api upgrades
* Downgrade app major upgrades
* Fix app tests
* Downgrade isolated-vm
* Add changeset
* Fix template in head
* Resolve unhead lang signature
* Downgrade unhead
* Downgrade keyv/redis
It uses a different redis lib under the hood which is incompatible
* Resolve import in test
* Update and move workspace root dependencies
* Update CSS for updated linter rules
* Oops
* Run formatter
* Update rule name
* Run prettier
* Move utils peer to catalog
* Add focus-trap dependency
* Make tests deterministic by dropping random
* Remove random dep
* Drop random package
* Update pnpm lock
* Update app/src/composables/use-permissions/collection/lib/is-action-allowed.test.ts
---------
Co-authored-by: Alex Gaillard <alex@directus.io>
* stream app extensions from the filesystem instead of storing them in the heap
* cleanup
* temp commit
* fmt and cleanup
* rename import and remove rollup
* fix lock file
* add EXTENSIONS_ROLLDOWN to switch between roll-up/down
* add comment
* fmt
* Update .changeset/violet-sloths-shine.md
Co-authored-by: ian <licitdev@gmail.com>
* Update api/package.json
Co-authored-by: ian <licitdev@gmail.com>
---------
Co-authored-by: ian <licitdev@gmail.com>
* Install uuid
* Add project id on migrate/install
* Include project id in telemetry
* Add changeset
* Fix snapshot
* Use migration timestamp for project_id UUID generation
Updated the migration to use the timestamp from 'directus_migrations' as the msecs value when generating the project_id UUID.
* Fix formatting
* Add into types and sdk
* update changeset
---------
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Connor Winston <connor@winston.guru>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
* initial metrics implementation
* secure endpoint
* move metric generation to cron
* update directus env var list
* remove additional space in output
* prefer histogram over gauge
* add defaults
* add tests
* metric generation should be done on a per instance basis
* add docs
* simplify docs
* add changeset
* add proper capitalization
* do not attempt to access redis cache if redis is not available
* Update api/src/schedules/metrics.test.ts
Co-authored-by: ian <licitdev@gmail.com>
* metric lock should not be synchronized
* utilize prometheus client
* update typing
* check db metrics enabled before observe
* refactor get/track metric calls
* add cluster support
* add pm2 aggregation support
* rework pm2 aggregation
* Update api/src/schedules/metrics.ts
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* ensure errors are caught
* add metrics bearer type to be inline with auth spec
* utilize early returns in access check
* at sensible default histogram bucket timeframe
* Update docs/self-hosted/config-options.md
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* Update docs/reference/system/metrics.md
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* do not initialize metrics when it isnt enabled
Co-Authored-By: Pascal Jufer <5363448+paescuj@users.noreply.github.com>
* fix api build
* return null for disabled metrics to be inline with other services
* prefere single service metric list env
Co-Authored-By: Pascal Jufer <5363448+paescuj@users.noreply.github.com>
* Update api/src/metrics/lib/create-metrics.test.ts
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
* update METRIC_TOKENS description
* update create metrics test wording
* reorg metric types
* Update create-metrics.ts
* Enable all metrics services by default
* Add full metrics output example
* Move enabled check to useMetrics & save results
* Adjust types in changeset
* metrics is REST API only
* update default cron to every minute
* update documented metric default schedule
* update metric schedule desc to be inline with default
* clarify metrics are returned from generated values and not at runtime
* add aggregation within pm2 context warning
* fix spellcheck
* Small grammar fixes for metrics aggregation notice
* Add `directus` minor bump
Co-authored-by: ian <licitdev@gmail.com>
---------
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Pascal Jufer <5363448+paescuj@users.noreply.github.com>