VOOZH about

URL: https://glama.ai/mcp/servers/luis-dominguez-stori/MCP?locale=ja-JP

⇱ OpenSearch Logs MCP Server by luis-dominguez-stori | Glama


OpenSearch Logs MCP Server

OpenSearch内のOpenTelemetryログをクエリするためのMCP (Model Context Protocol) サーバーです。開発環境 (dev) および本番環境 (prod) をサポートしています。

アーキテクチャ

このサーバーはSOLID原則とクリーンアーキテクチャに従っています:

src/
├── index.ts # Entry point
├── server.ts # MCP Server setup
├── config/
│ └── environments.ts # Environment configuration
├── types/
│ └── index.ts # Type definitions
├── services/
│ ├── opensearch-client.ts # HTTP client for OpenSearch
│ └── log-search.service.ts # Business logic
├── tools/
│ ├── tool-definitions.ts # Tool schemas
│ └── tool-handlers.ts # Tool execution
└── utils/
 ├── query-builder.ts # Query construction (Builder pattern)
 └── time-range.ts # Time utilities

適用されている原則

  • 単一責任の原則 (SRP): 各モジュールは単一の責任を持つ

  • 開放閉鎖の原則 (OCP): 既存のコードを変更せずに新しいツールを簡単に追加できる

  • 依存性逆転の原則 (DIP): サービスは抽象(インターフェース)に依存する

  • ビルダーパターン: クエリを流れるように構築するための QueryBuilder

インストール

cd Tools/mcp-opensearch-logs
npm install
npm run build

Cursorでの設定

Cursorの設定ファイル (~/.cursor/mcp.json) に以下を追加してください:

{
 "mcpServers": {
 "opensearch-logs": {
 "command": "node",
 "args": ["/ruta/al/proyecto/Tools/mcp-opensearch-logs/dist/index.js"],
 "env": {
 "OPENSEARCH_DEV_USERNAME": "tu-usuario-dev",
 "OPENSEARCH_DEV_PASSWORD": "tu-password-dev",
 "OPENSEARCH_PROD_USERNAME": "tu-usuario-prod",
 "OPENSEARCH_PROD_PASSWORD": "tu-password-prod"
 }
 }
 }
}

利用可能なツール

search_logs

Lucene構文を使用したフリーテキスト検索。

パラメータ

必須

説明

environment

dev

prod

クエリ対象の環境

query

string

Lucene構文のクエリ

timeRange

15m

1h

6h

24h

7d

時間範囲 (デフォルト: 1h)

size

number

最大結果数 (デフォルト: 50, 最大: 200)

例:

  • "dev環境で過去1時間の'error'を含むログを検索"

  • "prod環境で過去6時間のステータス500のログを検索"

search_by_trace

OpenTelemetryのトレースに関連するすべてのログを検索します。

パラメータ

必須

説明

environment

dev

prod

クエリ対象の環境

traceId

string

トレースID

size

number

最大結果数 (デフォルト: 100)

例:

  • "dev環境のトレースabc123のログをすべて表示"

search_by_service

サービス名でログをフィルタリングします。

パラメータ

必須

説明

environment

dev

prod

クエリ対象の環境

serviceName

string

サービス名

level

DEBUG

INFO

WARN

ERROR

FATAL

ログレベル

query

string

追加のクエリ

timeRange

string

時間範囲

size

number

最大結果数

例:

  • "prod環境のstori-iosサービスのログを検索"

  • "dev環境のstori-iosサービスのエラーを表示"

search_errors

ERRORレベル以上のログを検索します (severityNumber >= 17)。

パラメータ

必須

説明

environment

dev

prod

クエリ対象の環境

serviceName

string

サービスでフィルタリング

query

string

追加のクエリ

timeRange

string

時間範囲

size

number

最大結果数

例:

  • "prod環境の過去1時間のエラーを表示"

  • "dev環境のKYC関連のエラーを検索"

get_field_values

フィールドの最も一般的な値を取得します(集計)。

パラメータ

必須

説明

environment

dev

prod

クエリ対象の環境

field

string

集計対象のフィールド

size

number

ユニークな値の最大数 (デフォルト: 20)

例:

  • "prod環境の'event'フィールドの値は何ですか?"

  • "dev環境で最も一般的なエラータイプを表示"

search_by_field

特定のフィールドと値で検索します。

パラメータ

必須

説明

environment

dev

prod

クエリ対象の環境

field

string

フィールド名

value

string

検索する値

timeRange

string

時間範囲

size

number

最大結果数

例:

  • "prod環境でtransactionId=abc123のログを検索"

get_mapping

インデックスのフィールドマッピングを取得します。

パラメータ

必須

説明

environment

dev

prod

クエリ対象の環境

例:

  • "prod環境のログで利用可能なフィールドは何ですか?"

get_sample_log

構造を確認するためのサンプルログを取得します。

パラメータ

必須

説明

environment

dev

prod

クエリ対象の環境

例:

  • "構造を確認するためにprod環境のログサンプルを表示"

Lucene検索構文

queryフィールドは完全なLucene構文をサポートしています:

構文

説明

term

任意のフィールドを検索

error

field:value

特定のフィールドを検索

event:kyc_error

field:*value*

ワイルドカード

errorMessage:*timeout*

AND

両方の条件

error AND authentication

OR

いずれかの条件

error OR warning

NOT

条件を除外

NOT debug

[a TO b]

範囲指定

statusCode:[400 TO 499]

"exact phrase"

完全一致

"connection refused"

時間範囲

説明

15m

過去15分

1h

過去1時間 (デフォルト)

6h

過去6時間

24h

過去24時間

7d

過去7日間

開発

# Desarrollo con watch mode
npm run dev

# Build
npm run build

# Lint
npm run lint

OpenTelemetryログ構造

ログはOpenTelemetryスキーマに従います:

{
 "time": "2024-01-15T10:30:00.000Z",
 "severityText": "ERROR",
 "severityNumber": 17,
 "body": "Error message",
 "attributes": {
 "event": "kyc_error",
 "kycFlow": "creditL1",
 "transactionId": "abc123"
 },
 "resource": {
 "service.name": "stori-ios",
 "service.version": "1.0.0"
 }
}
F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/luis-dominguez-stori/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server