Skip to content

feat: add ECS MCP server#2623

Draft
taylor-swanson wants to merge 3 commits intoelastic:mainfrom
taylor-swanson:feat/ecs-mcp
Draft

feat: add ECS MCP server#2623
taylor-swanson wants to merge 3 commits intoelastic:mainfrom
taylor-swanson:feat/ecs-mcp

Conversation

@taylor-swanson
Copy link
Copy Markdown
Contributor

  • Add Go code to repo under go-ecs
  • Add new ECS MCP server

Introduce `ecs-mcp`, a Go-based Model Context Protocol server that loads
every tagged ECS release (>= v1.12.0) from a local or cloned ECS repo into
a SQLite database and exposes it to MCP clients over stdio or HTTP.

The server provides four tools backed by per-version field, fieldset, and
expected-event-type tables:

  - ecs_get_sql_tables    return the SQLite schema
  - ecs_match_fields      check whether dotted field names exist in a
                          given ECS version
  - ecs_search_fields     FTS search over field definitions, with
                          camelCase / dotted-path tokenization
  - ecs_execute_sql_query run arbitrary read-only SQLite queries

An embedded guide (ecs_guide.md) is served as an MCP prompt to teach
clients the version-scoped query workflow used for mapping package
fields to ECS.
@taylor-swanson taylor-swanson self-assigned this Apr 28, 2026
@taylor-swanson taylor-swanson added the enhancement New feature or request label Apr 28, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🤖 GitHub comments

Expand to view the GitHub comments

Just comment with:

  • run docs-build : Re-trigger the docs validation. (use unformatted text in the comment!)

Comment thread go-ecs/cmd/ecs-mcp/main.go Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants