Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:49:50 +08:00
commit adc4b2be25
147 changed files with 24716 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
mxcp: 1
tool:
name: cql_query
description: "Execute a CQL query against Confluence"
parameters:
- name: cql
type: string
description: |
The CQL query string to execute.
Example: 'text ~ "important documentation"'
examples: [
'text ~ "important documentation"',
'type = page AND space = "TEAM"',
'label = "documentation"'
]
- name: space_key
type: string
description: |
The space key to search in.
Example: 'TEAM'
examples: ["TEAM", "DOCS", "PROD"]
- name: limit
type: integer
description: |
Maximum number of results to return.
Defaults to 10 if not specified.
examples: [10, 20, 50]
return:
type: array
items:
type: object
properties:
id:
type: string
description: "Page ID"
title:
type: string
description: "Page title"
space_key:
type: string
description: "Space key"
url:
type: string
description: "Page URL"
version:
type: object
properties:
number:
type: integer
description: "Version number"
when:
type: string
description: "Version timestamp"
last_modified:
type: string
description: "Last modification timestamp"
author:
type: string
description: "Page author"
labels:
type: array
items:
type: string
description: "Page labels"
source:
file: "../sql/cql_query.sql"

View File

@@ -0,0 +1,28 @@
mxcp: 1
tool:
name: describe_page
description: |
Show metadata about a Confluence page.
Returns a JSON string containing page details like title, author, update date, and labels.
type: tool
annotations:
title: Describe Page
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
parameters:
- name: page_id
type: string
description: |
The ID of the page to describe.
This is typically a numeric ID found in the page URL.
examples: ["123456", "789012"]
return:
type: string
description: |
A JSON string containing the page metadata.
language: "sql"
source:
file: "../sql/describe_page.sql"

View File

@@ -0,0 +1,28 @@
mxcp: 1
tool:
name: get_children
description: |
List direct children of a Confluence page.
Returns a JSON string containing the child pages.
type: tool
annotations:
title: Get Children
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
parameters:
- name: page_id
type: string
description: |
The ID of the parent page.
This is typically a numeric ID found in the page URL.
examples: ["123456", "789012"]
return:
type: string
description: |
A JSON string containing an array of child pages.
language: "sql"
source:
file: "../sql/get_children.sql"

View File

@@ -0,0 +1,28 @@
mxcp: 1
tool:
name: get_page
description: |
Fetch a Confluence page's content.
Returns a JSON string containing the page content in both storage format and rendered HTML.
type: tool
annotations:
title: Get Page
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
parameters:
- name: page_id
type: string
description: |
The ID of the page to fetch.
This is typically a numeric ID found in the page URL.
examples: ["123456", "789012"]
return:
type: string
description: |
A JSON string containing the page content.
language: "sql"
source:
file: "../sql/get_page.sql"

View File

@@ -0,0 +1,21 @@
mxcp: 1
tool:
name: list_spaces
description: |
List all accessible Confluence spaces.
Returns a JSON string containing space keys and names.
type: tool
annotations:
title: List Spaces
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
return:
type: string
description: |
A JSON string containing an array of spaces.
language: "sql"
source:
file: "../sql/list_spaces.sql"

View File

@@ -0,0 +1,38 @@
mxcp: 1
tool:
name: search_pages
description: |
Search Confluence pages by keyword.
Returns a JSON string containing matching pages with their details.
type: tool
annotations:
title: Search Pages
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: true
parameters:
- name: query
type: string
description: |
The search string to find in page content.
This will search through page titles and content.
examples: [
"onboarding guide",
"release notes",
"API documentation"
]
- name: limit
type: integer
description: |
Maximum number of results to return.
Defaults to 10 if not specified.
examples: [10, 20, 50]
return:
type: string
description: |
A JSON string containing an array of matching pages.
language: "sql"
source:
file: "../sql/search_pages.sql"