Skip to content

Commit 98958ad

Browse files
authored
Merge branch 'main' into fix/test-elastic-nav
2 parents 354e42b + 1797e4a commit 98958ad

518 files changed

Lines changed: 31937 additions & 8019 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/skills/mcp-search/SKILL.md

Lines changed: 130 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
---
22
name: mcp-search
3-
description: Search and analyze Elastic documentation using the remote MCP server. Use this when the user asks to search docs, find documentation, check coherence, find inconsistencies, get a document by URL, or analyze document structure. Trigger words: search, find, docs, documentation, coherence, inconsistencies, related, structure, analyze.
3+
description: Search, analyze, and author Elastic documentation using the remote MCP server. Use this when the user asks about Elastic product documentation, features, or APIs; wants to find, read, or verify existing docs pages; is writing or editing documentation; mentions cross-links between repos; asks about documentation structure, coherence, or consistency; wants to generate templates following Elastic content type guidelines; or references elastic.co/docs URLs or Elastic product names.
44
---
55

6-
# Elastic Documentation MCP Search
6+
# Elastic Documentation MCP
77

8-
This skill provides access to Elastic documentation through a remote MCP server. Use these tools to search, analyze, and verify documentation content.
8+
This skill provides access to Elastic documentation through a remote MCP server. Use these tools to search, analyze, author, and validate documentation content.
99

1010
## Available Tools
1111

1212
### 1. SemanticSearch
1313

14-
**When to use:** User asks to search docs, find documentation, look up information, search for topics, find examples, or search Elastic documentation.
14+
**When to use:** User asks about Elastic product features, needs to find existing docs pages, verify published content, or research what documentation exists on a topic.
1515

16-
**Trigger words:** search, find, docs, documentation, look up, examples, query
16+
**Trigger words:** search, find, docs, documentation, look up, examples, query, what docs, Elastic features
1717

1818
**Parameters:**
19-
- `query` (required): The search query - can be a question or keywords
19+
- `query` (required): The search query can be a question or keywords
2020
- `pageNumber` (optional, default: 1): Page number (1-based)
2121
- `pageSize` (optional, default: 10, max: 50): Number of results per page
2222
- `productFilter` (optional): Filter by product ID (e.g., 'elasticsearch', 'kibana', 'fleet', 'logstash')
@@ -28,9 +28,9 @@ This skill provides access to Elastic documentation through a remote MCP server.
2828

2929
### 2. FindRelatedDocs
3030

31-
**When to use:** User asks to find related docs, get related content, find similar documentation, get links, or find what to link to.
31+
**When to use:** User wants to explore what documentation exists around a subject, build context for writing, or discover related content they should be aware of.
3232

33-
**Trigger words:** related, similar, links, content reuse, related documentation, see also
33+
**Trigger words:** related, similar, links, content reuse, related documentation, see also, what else
3434

3535
**Parameters:**
3636
- `topic` (required): Topic or search terms to find related documents for
@@ -43,9 +43,9 @@ This skill provides access to Elastic documentation through a remote MCP server.
4343

4444
### 3. CheckCoherence
4545

46-
**When to use:** User asks to verify document accuracy, check if content is accurate, validate documentation, check coherence, verify against docs, or ensure consistency across the documentation.
46+
**When to use:** User wants to review documentation quality, audit coverage of a feature or concept, or check whether a topic is documented consistently across products and sections.
4747

48-
**Trigger words:** verify, check, accurate, coherent, validate, consistency, coverage, align with docs
48+
**Trigger words:** verify, check, accurate, coherent, validate, consistency, coverage, align with docs, audit
4949

5050
**Parameters:**
5151
- `topic` (required): Topic or concept to check coherence for
@@ -63,7 +63,7 @@ This skill provides access to Elastic documentation through a remote MCP server.
6363

6464
### 4. FindInconsistencies
6565

66-
**When to use:** User asks to find inconsistencies, check for contradictions, find conflicts, compare documentation, or identify discrepancies between documents.
66+
**When to use:** User wants to audit docs quality, verify that instructions don't contradict each other, or check for overlapping content within a product area.
6767

6868
**Trigger words:** inconsistencies, contradictions, conflicts, discrepancies, compare, differences, overlaps
6969

@@ -80,12 +80,12 @@ This skill provides access to Elastic documentation through a remote MCP server.
8080

8181
### 5. GetDocumentByUrl
8282

83-
**When to use:** User provides a specific documentation URL or asks to get document, fetch page, retrieve doc by URL, or show a specific documentation page.
83+
**When to use:** User provides an elastic.co/docs URL, references a known page, or you need the full content and metadata of a specific doc.
8484

85-
**Trigger words:** get document, fetch, URL, specific page, retrieve, show page
85+
**Trigger words:** get document, fetch, URL, specific page, retrieve, show page, elastic.co
8686

8787
**Parameters:**
88-
- `url` (required): The document URL (e.g., '/docs/elasticsearch/reference/index')
88+
- `url` (required): The document URL. Accepts a full URL (e.g., `https://www.elastic.co/docs/deploy-manage/api-keys`) or a path (e.g., `/docs/deploy-manage/api-keys`). Query strings, fragments, and trailing slashes are ignored.
8989
- `includeBody` (optional, default: false): Include full body content (set true for detailed analysis)
9090

9191
**Returns:** Full document content including:
@@ -101,12 +101,12 @@ This skill provides access to Elastic documentation through a remote MCP server.
101101

102102
### 6. AnalyzeDocumentStructure
103103

104-
**When to use:** User asks to analyze structure, check hierarchy, view document organization, see headings, or understand document layout.
104+
**When to use:** User wants to evaluate page quality, check heading hierarchy, or assess AI enrichment status.
105105

106-
**Trigger words:** structure, hierarchy, organization, headings, parents, layout, analyze
106+
**Trigger words:** structure, hierarchy, organization, headings, parents, layout, analyze, quality
107107

108108
**Parameters:**
109-
- `url` (required): Document URL to analyze
109+
- `url` (required): The document URL to analyze. Accepts a full URL (e.g., `https://www.elastic.co/docs/deploy-manage/api-keys`) or a path (e.g., `/docs/deploy-manage/api-keys`). Query strings, fragments, and trailing slashes are ignored.
110110

111111
**Returns:** Structure analysis including:
112112
- Heading count and list of headings
@@ -117,13 +117,121 @@ This skill provides access to Elastic documentation through a remote MCP server.
117117

118118
---
119119

120+
### 7. ResolveCrossLink
121+
122+
**When to use:** User references a cross-link, needs to verify a link target, or wants to know what anchors are available on a page.
123+
124+
**Trigger words:** cross-link, resolve, cross link, docs-content://, URI, anchor
125+
126+
**Parameters:**
127+
- `crossLink` (required): The cross-link URI to resolve (e.g., `docs-content://get-started/intro.md`)
128+
129+
**Returns:** Resolved URL, repository, path, available anchors, and any fragment.
130+
131+
---
132+
133+
### 8. ListRepositories
134+
135+
**When to use:** User needs to know which repositories publish documentation or wants to explore the docs ecosystem.
136+
137+
**Trigger words:** list repos, repositories, available repos, cross-link index, docs ecosystem
138+
139+
**Parameters:** None
140+
141+
**Returns:** List of repositories with names, branches, paths, git refs, and last-updated timestamps.
142+
143+
---
144+
145+
### 9. GetRepositoryLinks
146+
147+
**When to use:** User wants to explore what a repository publishes, build a cross-link, or look up available anchor targets.
148+
149+
**Trigger words:** repository links, pages in repo, anchors, what does repo publish
150+
151+
**Parameters:**
152+
- `repository` (required): The repository name (e.g., `docs-content`, `elasticsearch`)
153+
154+
**Returns:** Repository metadata, URL path prefix, page count, cross-link count, and a list of pages with their anchors.
155+
156+
---
157+
158+
### 10. FindCrossLinks
159+
160+
**When to use:** User wants to analyze inter-repository dependencies, check what links into or out of a repository, or audit cross-link usage.
161+
162+
**Trigger words:** find cross-links, links between repos, who links to, links from, dependencies
163+
164+
**Parameters:**
165+
- `from` (optional): Source repository to find links from
166+
- `to` (optional): Target repository to find links to
167+
168+
**Returns:** Count and list of cross-links with source repository, target repository, and the link URI.
169+
170+
---
171+
172+
### 11. ValidateCrossLinks
173+
174+
**When to use:** User wants to check link health, prepare a release, or diagnose broken cross-references.
175+
176+
**Trigger words:** validate cross-links, broken links, check links, link validation, link health
177+
178+
**Parameters:**
179+
- `repository` (required): Target repository to validate links to (e.g., `docs-content`)
180+
181+
**Returns:** Valid link count, broken link count, and details of any broken links (source repo, link URI, errors).
182+
183+
---
184+
185+
### 12. ListContentTypes
186+
187+
**When to use:** User is deciding what type of page to create or asks about Elastic docs structure.
188+
189+
**Trigger words:** content types, what type, overview vs how-to, tutorial, troubleshooting, changelog type
190+
191+
**Parameters:** None
192+
193+
**Returns:** List of all content types (overview, how-to, tutorial, troubleshooting, changelog) with descriptions and when-to-use guidance.
194+
195+
---
196+
197+
### 13. GenerateTemplate
198+
199+
**When to use:** User wants to create a new documentation page, needs a starting point with correct frontmatter and structure, or asks for a template.
200+
201+
**Trigger words:** template, generate, starter, scaffold, new page, new doc
202+
203+
**Parameters:**
204+
- `contentType` (required): One of `overview`, `how-to`, `tutorial`, `troubleshooting`, or `changelog`
205+
- `title` (optional): Pre-fill the page or changelog title
206+
- `description` (optional): Pre-fill the frontmatter description
207+
- `product` (optional): Pre-fill the product field
208+
209+
**Returns:** A ready-to-use Markdown template (or YAML for changelogs) with correct frontmatter and structure.
210+
211+
---
212+
213+
### 14. GetContentTypeGuidelines
214+
215+
**When to use:** User is writing new content, reviewing existing pages against standards, or asks about Elastic docs best practices.
216+
217+
**Trigger words:** guidelines, best practices, how to write, checklist, evaluate, anti-patterns
218+
219+
**Parameters:**
220+
- `contentType` (required): One of `overview`, `how-to`, `tutorial`, `troubleshooting`, or `changelog`
221+
222+
**Returns:** Detailed guidelines including required elements checklist, recommended sections, best practices, and anti-patterns for the content type.
223+
224+
---
225+
120226
## Usage Guidelines
121227

122-
1. **For general searches:** Start with `SemanticSearch` to find relevant documentation
123-
2. **For content verification:** Use `CheckCoherence` to see how well a topic is documented
124-
3. **For quality checks:** Use `FindInconsistencies` to identify potential documentation conflicts
125-
4. **For specific pages:** Use `GetDocumentByUrl` when you have an exact URL
126-
5. **For deep analysis:** Use `AnalyzeDocumentStructure` to understand page organization
228+
1. **For general searches:** Start with `SemanticSearch` to find relevant documentation. Prefer this over a general web search for Elastic docs content.
229+
2. **For content verification:** Use `CheckCoherence` to see how well a topic is documented.
230+
3. **For quality checks:** Use `FindInconsistencies` to identify potential documentation conflicts.
231+
4. **For specific pages:** Use `GetDocumentByUrl` when you have an exact URL.
232+
5. **For deep analysis:** Use `AnalyzeDocumentStructure` to understand page organization.
233+
6. **For cross-linking:** Use `ResolveCrossLink` to turn a cross-link URI into a real URL, `ListRepositories` to discover available repos, and `ValidateCrossLinks` to find broken links.
234+
7. **For authoring:** Use `ListContentTypes` to pick the right type, `GenerateTemplate` to get a starter, and `GetContentTypeGuidelines` to write or evaluate content correctly.
127235

128236
## Product IDs
129237

.editorconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,10 @@ dotnet_diagnostic.CA1873.severity = suggestion
267267
dotnet_diagnostic.IL3050.severity = none
268268
dotnet_diagnostic.IL2026.severity = none
269269

270+
[src/api/Elastic.Documentation.Mcp.Remote/**.cs]
271+
dotnet_diagnostic.IL3050.severity = none
272+
dotnet_diagnostic.IL2026.severity = none
273+
270274
[DocumentationWebHost.cs]
271275
dotnet_diagnostic.IL3050.severity = none
272276
dotnet_diagnostic.IL2026.severity = none

.github/actions/aws-auth/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ runs:
3737
with open(os.environ["GITHUB_OUTPUT"], "a") as f:
3838
f.write(f"result=arn:aws:iam::{os.environ["AWS_ACCOUNT_ID"]}:role/{prefix}{hash}")
3939
- name: Configure AWS Credentials
40-
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
40+
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
4141
with:
4242
role-to-assume: ${{ steps.role_arn.outputs.result }}
4343
aws-region: ${{ inputs.aws_region }}

.github/updatecli/updatecli.d/versions.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ sources:
3030
kind: json
3131
spec:
3232
files:
33-
- https://artifacts.elastic.co/releases/stack.json
33+
- https://elastic-release-api.s3.us-west-2.amazonaws.com/public/past-releases.json
3434
engine: dasel/v2
3535
key: "releases.last().version"
3636

.github/workflows/assembler-preview.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
name: assembler-preview
22

33
on:
4-
pull_request:
5-
types:
6-
- opened
7-
- synchronize
8-
- reopened
9-
- labeled
4+
pull_request: ~
105
workflow_dispatch:
116
inputs:
127
pr_number:

.github/workflows/build-api-lambda.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
stat "${BINARY_PATH}"
3737
- name: Archive artifact
3838
id: upload-artifact
39-
uses: actions/upload-artifact@v6
39+
uses: actions/upload-artifact@v7
4040
with:
4141
name: api-lambda-binary
4242
retention-days: 1

.github/workflows/build-link-index-updater-lambda.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
stat "${BINARY_PATH}"
3434
- name: Archive artifact
3535
id: upload-artifact
36-
uses: actions/upload-artifact@v6
36+
uses: actions/upload-artifact@v7
3737
with:
3838
name: link-index-updater-lambda-binary
3939
retention-days: 1

.github/workflows/build-mcp-lambda.yml

Lines changed: 0 additions & 44 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,6 @@ jobs:
3737

3838
build-api-lambda:
3939
uses: ./.github/workflows/build-api-lambda.yml
40-
41-
build-mcp-lambda:
42-
uses: ./.github/workflows/build-mcp-lambda.yml
43-
4440

4541
synthetics:
4642
runs-on: ubuntu-latest

.github/workflows/deploy-api-lambda.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ jobs:
3737
- uses: actions/checkout@v6
3838

3939
- name: Download bootstrap binary
40-
uses: actions/download-artifact@v7
40+
uses: actions/download-artifact@v8
4141
with:
4242
name: api-lambda-binary # Defined in build-api-lambda.yml
4343

4444
- name: Create zip
4545
run: |
4646
zip -j "${ZIP_FILE}" ./bootstrap
4747
48-
- uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
48+
- uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6.0.0
4949
with:
5050
role-to-assume: arn:aws:iam::197730964718:role/elastic-docs-v3-api-deployer-${{ inputs.environment }}
5151
aws-region: us-east-1

0 commit comments

Comments
 (0)