mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-05-27 22:01:39 +00:00
Added dependencies and basic structures
This commit is contained in:
parent
e8af0e9b4f
commit
f7b2539ef1
8 changed files with 698 additions and 24 deletions
|
|
@ -34,4 +34,5 @@ return [
|
|||
Jbtronics\TranslationEditorBundle\JbtronicsTranslationEditorBundle::class => ['dev' => true],
|
||||
ApiPlatform\Symfony\Bundle\ApiPlatformBundle::class => ['all' => true],
|
||||
Symfony\AI\AiBundle\AiBundle::class => ['all' => true],
|
||||
Symfony\AI\McpBundle\McpBundle::class => ['all' => true],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -38,3 +38,7 @@ api_platform:
|
|||
serializer:
|
||||
# Change this to false later, to remove the hydra prefix on the API
|
||||
hydra_prefix: true
|
||||
|
||||
mcp:
|
||||
enabled: true # default: true
|
||||
format: jsonld # default: 'jsonld'
|
||||
|
|
|
|||
10
config/packages/mcp.yaml
Normal file
10
config/packages/mcp.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
mcp:
|
||||
client_transports:
|
||||
http: true
|
||||
stdio: false
|
||||
http:
|
||||
path: "/mcp"
|
||||
session:
|
||||
store: "file"
|
||||
directory: "%kernel.cache_dir%/mcp"
|
||||
ttl: 3600
|
||||
|
|
@ -3184,6 +3184,37 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
|
|||
* store?: string|Param, // Service name of store // Default: "Symfony\\AI\\Store\\StoreInterface"
|
||||
* }>,
|
||||
* }
|
||||
* @psalm-type McpConfig = array{
|
||||
* app?: scalar|Param|null, // Default: "app"
|
||||
* version?: scalar|Param|null, // Default: "0.0.1"
|
||||
* description?: scalar|Param|null, // Default: null
|
||||
* icons?: list<array{ // Default: []
|
||||
* src?: scalar|Param|null,
|
||||
* mime_type?: scalar|Param|null, // Default: null
|
||||
* sizes?: list<scalar|Param|null>,
|
||||
* }>,
|
||||
* website_url?: scalar|Param|null, // Default: null
|
||||
* pagination_limit?: int|Param, // Default: 50
|
||||
* instructions?: scalar|Param|null, // Default: null
|
||||
* client_transports?: array{
|
||||
* stdio?: bool|Param, // Default: false
|
||||
* http?: bool|Param, // Default: false
|
||||
* },
|
||||
* discovery?: array{
|
||||
* scan_dirs?: list<scalar|Param|null>,
|
||||
* exclude_dirs?: list<scalar|Param|null>,
|
||||
* },
|
||||
* http?: array{
|
||||
* path?: scalar|Param|null, // Default: "/_mcp"
|
||||
* session?: array{
|
||||
* store?: "file"|"memory"|"cache"|"framework"|Param, // Default: "file"
|
||||
* directory?: scalar|Param|null, // Default: "%kernel.cache_dir%/mcp-sessions"
|
||||
* cache_pool?: scalar|Param|null, // Default: "cache.mcp.sessions"
|
||||
* prefix?: scalar|Param|null, // Default: "mcp-"
|
||||
* ttl?: int|Param, // Default: 3600
|
||||
* },
|
||||
* },
|
||||
* }
|
||||
* @psalm-type ConfigType = array{
|
||||
* imports?: ImportsConfig,
|
||||
* parameters?: ParametersConfig,
|
||||
|
|
@ -3214,6 +3245,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
|
|||
* jbtronics_settings?: JbtronicsSettingsConfig,
|
||||
* api_platform?: ApiPlatformConfig,
|
||||
* ai?: AiConfig,
|
||||
* mcp?: McpConfig,
|
||||
* "when@dev"?: array{
|
||||
* imports?: ImportsConfig,
|
||||
* parameters?: ParametersConfig,
|
||||
|
|
@ -3248,6 +3280,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
|
|||
* jbtronics_translation_editor?: JbtronicsTranslationEditorConfig,
|
||||
* api_platform?: ApiPlatformConfig,
|
||||
* ai?: AiConfig,
|
||||
* mcp?: McpConfig,
|
||||
* },
|
||||
* "when@docker"?: array{
|
||||
* imports?: ImportsConfig,
|
||||
|
|
@ -3279,6 +3312,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
|
|||
* jbtronics_settings?: JbtronicsSettingsConfig,
|
||||
* api_platform?: ApiPlatformConfig,
|
||||
* ai?: AiConfig,
|
||||
* mcp?: McpConfig,
|
||||
* },
|
||||
* "when@prod"?: array{
|
||||
* imports?: ImportsConfig,
|
||||
|
|
@ -3310,6 +3344,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
|
|||
* jbtronics_settings?: JbtronicsSettingsConfig,
|
||||
* api_platform?: ApiPlatformConfig,
|
||||
* ai?: AiConfig,
|
||||
* mcp?: McpConfig,
|
||||
* },
|
||||
* "when@test"?: array{
|
||||
* imports?: ImportsConfig,
|
||||
|
|
@ -3344,6 +3379,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
|
|||
* jbtronics_settings?: JbtronicsSettingsConfig,
|
||||
* api_platform?: ApiPlatformConfig,
|
||||
* ai?: AiConfig,
|
||||
* mcp?: McpConfig,
|
||||
* },
|
||||
* ...<string, ExtensionType|array{ // extra keys must follow the when@%env% pattern or match an extension alias
|
||||
* imports?: ImportsConfig,
|
||||
|
|
|
|||
|
|
@ -18,6 +18,11 @@ csp_report:
|
|||
methods: [POST]
|
||||
defaults: { _controller: nelmio_security.csp_reporter_controller::indexAction }
|
||||
|
||||
mcp:
|
||||
resource: .
|
||||
type: mcp
|
||||
|
||||
|
||||
# Must be last as it matches everything
|
||||
redirector:
|
||||
path: /{url}
|
||||
|
|
@ -26,3 +31,4 @@ redirector:
|
|||
controller: App\Controller\RedirectController::addLocalePart
|
||||
# Dont match localized routes (no redirection loop, if no root with that name exists) or API prefixed routes
|
||||
condition: "not (request.getPathInfo() matches '/^\\\\/([a-z]{2}(_[A-Z]{2})?|api)\\\\//')"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue