Skip to content

Project skeleton — standalone Spring Boot app on spring-services #1

Description

@herbie-bot

Summary

Create the standalone Spring Boot application that is the Open Elements Content MCP. The app is its own repository/deployment, built on spring-services pulled in as a Maven library. It imports the library's ready-made MCP and Meilisearch configuration and adds an empty com.openelements.content package with a ContentConfig @Configuration that later specs fill in. Goal of this step: the app boots and exposes the existing /mcp streamable-HTTP endpoint with zero content-specific tools yet.

Spec

  • Spec folder: docs/specs/001-project-skeleton/
  • Design: docs/specs/001-project-skeleton/design.md
  • Behaviors: docs/specs/001-project-skeleton/behaviors.md

Acceptance criteria (from behaviors.md)

  • App boots with the imported library configs (openelements.mcp.enabled=true, openelements.meilisearch.enabled=true) — context initializes without errors.
  • /mcp endpoint is exposed (streamable HTTP) with an empty content-tool catalog when openelements.mcp.auth.api-key.enabled=false.
  • @EnableScheduling is active (a TaskScheduler bean is present).
  • com.openelements.content package is component-scanned and ContentConfig is registered as a bean.
  • org.jsoup:jsoup is present on the classpath.
  • App does not crash when Meilisearch is unreachable at startup (HTTP + /mcp still come up).
  • With openelements.mcp.enabled=false, no /mcp endpoint is exposed.

Notes

  • Roadmap: Phase 1, step 1. See docs/content-mcp-technical-design.md §1a, §2, §9.
  • Uses com.open-elements:java-parent:1.0.0 (parent) and com.open-elements:spring-services:1.3.0-SNAPSHOT (dependency), Java 21.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions