Skip to content

OpenElementsLabs/agentic-support-website-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Elements Content MCP

An MCP server that crawls, indexes, and makes searchable/retrievable the content (primarily blog posts) of several Open-Elements-adjacent websites — exposed to AI agents over the standard /mcp streamable-HTTP endpoint.

The application is standalone and built on spring-services as a library: it reuses that library's MCP server and Meilisearch building blocks and adds the content crawling/indexing/search pipeline in the com.openelements.content package.

Status: project skeleton (spec 001-project-skeleton). The app boots and exposes the /mcp endpoint with no content-specific tools yet. The crawler, indexer, search service, and MCP tools arrive in later specs — see docs/specs/INDEX.md and docs/roadmap.md.

Prerequisites

  • Java 21 (enforced by the Maven parent)
  • Maven 3.9.11+
  • Meilisearch (optional for boot) — needed for actual indexing/search. The app tolerates an unreachable Meilisearch at startup and comes up anyway.

Build

mvn clean package

This runs the tests and produces an executable jar in target/.

The build depends on spring-services:1.3.0-SNAPSHOT, resolved from the Central Portal snapshot repository declared in pom.xml.

Run

java -jar target/content-mcp-0.1.0-SNAPSHOT.jar

The app starts on port 8080 and exposes /mcp. It connects to Meilisearch at http://localhost:7700 by default (override via environment variables below).

Test

mvn test

Configuration

Configuration lives in src/main/resources/application.yaml. Common overrides (all via environment variables):

Variable Default Purpose
MEILISEARCH_HOST http://localhost:7700 Meilisearch base URL
MEILISEARCH_MASTER_KEY (empty) Meilisearch master key
MEILISEARCH_INDEX_PREFIX content_ Index name prefix
SPRING_DATASOURCE_URL in-memory H2 Datasource for the library's api-key/user tables
SPRING_DATASOURCE_USERNAME sa Datasource user
SPRING_DATASOURCE_PASSWORD (empty) Datasource password
OAUTH2_JWK_SET_URI placeholder JWK set URI for the library's OAuth2 resource server

Notes on the wiring

spring-services couples its MCP server to a JPA-backed api-key/user stack and depends on spring-boot-starter-data-jpa non-optionally, so a datasource is mandatory. This app supplies an embedded H2 database that backs only those library tables — the content pipeline itself keeps no relational state (its store is Meilisearch). The /mcp endpoint is secured by the library defaults; real scoped-key authentication is added in a later spec (013). See docs/specs/001-project-skeleton/design.md for the full rationale.

Documentation

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages