Skip to main content
Glama

Smartsheet MCP サーバー

Smartsheetとのシームレスな統合を実現するモデルコンテキストプロトコル(MCP)サーバー。標準化されたインターフェースを通じてSmartsheetドキュメントの自動操作を可能にします。このサーバーは、AIを活用した自動化ツールとSmartsheetの強力なコラボレーションプラットフォーム間のギャップを埋めます。

概要

Smartsheet MCP Serverは、Smartsheetとのインテリジェントな連携を促進するように設計されており、ドキュメント管理、データ操作、列のカスタマイズのための堅牢なツールセットを提供します。自動化されたワークフローの重要なコンポーネントとして機能し、AIシステムがSmartsheetデータをプログラム的に操作しながら、データの整合性を維持し、ビジネスルールを適用できるようにします。

主なメリット

  • インテリジェントな統合: AIシステムをSmartsheetのコラボレーションプラットフォームにシームレスに接続します

  • データ整合性: 検証ルールを適用し、操作全体で参照整合性を維持します。

  • 数式管理: 数式参照を自動的に保存および更新します

  • 柔軟な構成: さまざまな列タイプと複雑なデータ構造をサポート

  • エラー耐性: 複数のレイヤーで包括的なエラー処理と検証を実装します

  • ヘルスケア分析:臨床および研究データに特化した分析機能

  • バッチ処理:大規模な医療データセットの効率的な処理

  • カスタムスコアリング:ヘルスケアの取り組みと研究のための柔軟なスコアリングシステム

ユースケース

  1. 臨床研究分析

    • プロトコルコンプライアンススコアリング

    • 患者データ分析

    • 研究影響評価

    • 臨床試験データ処理

    • 自動研究ノート要約

  2. 病院運営

    • リソース利用分析

    • 患者満足度スコア

    • 部門効率指標

    • スタッフのパフォーマンス分析

    • 品質指標の追跡

  3. ヘルスケアイノベーション

    • 小児アライメントスコアリング

    • イノベーションの影響評価

    • 研究の優先順位付け

    • 実装実現可能性分析

    • 臨床的価値評価

  4. 自動ドキュメント管理

    • プログラムによるシート構造の変更

    • 動的な列の作成と管理

    • 自動データ検証とフォーマット

  5. データ操作

    • 整合性チェックを伴う一括データ更新

    • インテリジェントな重複検出

    • 数式を考慮した変更

  6. システム統合

    • AIによるシートのカスタマイズ

    • 自動レポートワークフロー

    • システム間のデータ同期

統合ポイント

サーバーは以下と統合されます:

  • データ操作用の Smartsheet API

  • 標準化された通信のためのMCPプロトコル

  • stdioインターフェース経由のローカル開発ツール

  • 構造化ログによるシステムの監視

Related MCP server: Google Drive MCP Server

建築

サーバーは、MCP と Smartsheet 間のブリッジ アーキテクチャを実装します。

graph LR subgraph MCP[MCP Layer] direction TB A[Client Request] --> B[TypeScript MCP Server] B --> C[Tool Registry] B --> D[Config Management] end subgraph CLI[CLI Layer] direction TB E[Python CLI] --> F[Argument Parser] F --> G[Command Router] G --> H[JSON Formatter] end subgraph Core[Core Operations] direction TB I[Smartsheet API Client] --> J[Column Manager] J --> K[Data Validator] J --> L[Formula Parser] end MCP --> CLI --> Core style A fill:#f9f,stroke:#333 style I fill:#bbf,stroke:#333
  1. TypeScript MCP レイヤー( src/index.ts )

    • MCPプロトコル通信を処理する

    • 利用可能なツールを登録および管理します

    • リクエストをPython実装にルーティングする

    • 構成とエラー処理を管理します

  2. Python CLI レイヤー( smartsheet_ops/cli.py )

    • 操作用のコマンドラインインターフェースを提供する

    • 引数の解析と検証を処理する

    • 重複検出を実装

    • JSONデータのフォーマットを管理する

  3. コア操作レイヤー( smartsheet_ops/__init__.py )

    • Smartsheet APIインタラクションを実装

    • 複雑な列タイプの管理を処理

    • データの正規化と検証を提供します

    • システム列と数式解析を管理します

列管理フロー

sequenceDiagram participant C as Client participant M as MCP Server participant P as Python CLI participant S as Smartsheet API C->>M: Column Operation Request M->>P: Parse & Validate Request alt Add Column P->>S: Validate Column Limit S-->>P: Sheet Info P->>S: Create Column S-->>P: Column Created P->>S: Get Column Details S-->>P: Column Info else Delete Column P->>S: Check Dependencies S-->>P: Formula References alt Has Dependencies P-->>M: Dependency Error M-->>C: Cannot Delete else No Dependencies P->>S: Delete Column S-->>P: Success end else Rename Column P->>S: Check Name Uniqueness S-->>P: Validation Result P->>S: Update Column Name S-->>P: Name Updated P->>S: Update Formula References S-->>P: References Updated end P-->>M: Operation Result M-->>C: Formatted Response

エラー処理フロー

flowchart TD A[Client Request] --> B{MCP Layer} B -->|Validation Error| C[Return Error Response] B -->|Valid Request| D{CLI Layer} D -->|Parse Error| E[Format JSON Error] D -->|Valid Command| F{Core Operations} F -->|API Error| G[Handle API Exception] F -->|Validation Error| H[Check Error Type] F -->|Success| I[Format Success Response] H -->|Dependencies| J[Return Dependency Info] H -->|Limits| K[Return Limit Error] H -->|Data| L[Return Validation Details] G --> M[Format Error Response] J --> N[Send to Client] K --> N L --> N I --> N style A fill:#f9f,stroke:#333 style N fill:#bbf,stroke:#333

特徴

ツール

  1. get_column_map (読み取り)

    • Smartsheet から列マッピングとサンプルデータを取得します

    • 以下を含む詳細な列メタデータを提供します:

      • 列の種類(システム列、数式、選択リスト)

      • 検証ルール

      • フォーマット仕様

      • 自動番号設定

    • コンテキストのサンプルデータを返します

    • データの書き込みに関する使用例が含まれています

  2. smartsheet_write (作成)

    • 次の処理をインテリジェントに実行して、新しい行を Smartsheet に書き込みます。

      • システム管理の列

      • 複数選択リストの値

      • 数式ベースの列

    • 自動重複検出を実装

    • 行IDを含む詳細な操作結果を返します

  3. smartsheet_update (更新)

    • Smartsheet の既存の行を更新します

    • 部分的な更新をサポート(特定のフィールドの変更)

    • 検証によりデータの整合性を維持

    • 複数選択フィールドを一貫して処理します

    • 行ごとに成功/失敗の詳細を返します

  4. smartsheet_delete (削除)

    • Smartsheet から行を削除します

    • 複数行の一括削除をサポート

    • 行の存在と権限を検証します

    • 詳細な操作結果を返します

  5. smartsheet_add_column (列管理)

    • Smartsheet に新しい列を追加します

    • すべての列タイプをサポートします:

      • テキスト番号

      • 日付

      • チェックボックス

      • ピックリスト

      • 連絡先リスト

    • 設定可能なオプション:

      • 位置インデックス

      • 検証ルール

      • 数式の定義

      • ピックリストオプション

    • 検証により列制限(400)を強制する

    • 詳細な列情報を返します

  6. smartsheet_delete_column (列管理)

    • 依存関係をチェックしながら安全に列を削除します

    • 削除前に数式参照を検証します

    • 数式で使用されている列の削除を防止します

    • 詳細な依存関係情報を返します

    • 強制削除オプションをサポート

  7. smartsheet_rename_column (列管理)

    • 関係性を維持しながら列の名前を変更します

    • 数式参照を自動的に更新します

    • データの整合性を維持

    • 名前の一意性を検証する

    • 詳細な更新情報を返します

  8. smartsheet_bulk_update (条件付き更新)

    • ルールに基づいて条件付き一括更新を実行します

    • 複雑な条件評価をサポートします:

      • 複数の演算子 (equals、contains、greaterThan など)

      • 型別の比較(テキスト、日付、数値)

      • 空/空でない小切手

    • 設定可能なサイズでのバッチ処理

    • 包括的なエラー処理とロールバック

    • 詳細な操作結果の追跡

  9. start_batch_analysis (ヘルスケア分析)

    • AI分析でシート全体または選択した行を処理します

    • 複数の分析タイプをサポートします:

      • 臨床記録の要約

      • 患者のフィードバックの感情分析

      • ヘルスケアイニシアチブのカスタムスコアリング

      • 研究影響評価

    • 特徴:

      • 自動バッチ処理(バッチあたり50行)

      • 進捗状況の追跡とステータスの監視

      • 詳細なレポートによるエラー処理

      • カスタマイズ可能な分析目標

      • 複数のソース列のサポート

  10. get_job_status (分析監視)

  • バッチ分析の進行状況を追跡します

  • 詳細なジョブ統計を提供します:

    • 処理する行の合計

    • 処理された行数

    • 失敗した行数

    • 処理タイムスタンプ

  • リアルタイムのステータス更新

  • 包括的なエラー報告

  1. cancel_batch_analysis (ジョブ制御)

  • 実行中のバッチ分析ジョブをキャンセルします

  • 正常なプロセス終了

  • データの一貫性を維持する

  • 最終的なジョブステータスを返します

主な機能

  • 列タイプの管理

    • システム列タイプ (AUTO_NUMBER、CREATED_DATE など) を処理します

    • 数式解析と依存関係の追跡をサポート

    • ピックリストオプションと複数選択値を管理します

    • 包括的な列操作(追加、削除、名前変更)

    • 数式参照の保存と更新

  • データ検証

    • 自動重複検出

    • 列の種類の検証

    • データ形式の検証

    • 列依存性分析

    • 名前の一意性の検証

  • メタデータ処理

    • 列のメタデータを抽出して処理する

    • 検証ルールを処理する

    • フォーマット仕様を管理する

    • 数式の依存関係を追跡する

    • 列の関係を維持する

  • ヘルスケア分析

    • 臨床ノートの要約

    • 患者のフィードバック感情分析

    • プロトコルコンプライアンススコアリング

    • 研究影響評価

    • リソース利用分析

  • バッチ処理

    • 自動行バッチ処理(バッチあたり 50 行)

    • 進捗状況の追跡と監視

    • エラー処理と回復

    • カスタマイズ可能な処理目標

    • 複数列分析のサポート

  • ジョブ管理

    • リアルタイムステータス監視

    • 詳細な進捗状況の追跡

    • エラー報告とログ記録

    • 求人キャンセルサポート

    • バッチ操作制御

設定

前提条件

  • Node.jsとnpm

  • Conda(環境管理用)

  • Smartsheet API アクセス トークン

環境設定

  1. 専用の conda 環境を作成します。

conda create -n cline_mcp_env python=3.12 nodejs -y conda activate cline_mcp_env
  1. Node.js の依存関係をインストールします。

npm install
  1. Python パッケージをインストールします。

cd smartsheet_ops pip install -e . cd ..
  1. TypeScript サーバーを構築します。

npm run build

構成

サーバーはMCP設定で適切に設定する必要があります。Claude DesktopとClineの両方で使用できます。

1. Smartsheet APIキーを取得する

  1. Smartsheetにログイン

  2. アカウント→個人設定→APIアクセスへ移動

  3. 新しいアクセストークンを生成する

2. Cline 用の設定

構成パスはオペレーティング システムによって異なります。

macOS :

~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

ウィンドウズ:

%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json

リナックス:

~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
{ "mcpServers": { "smartsheet": { "command": "/Users/[username]/anaconda3/envs/cline_mcp_env/bin/node", "args": ["/path/to/smartsheet-server/build/index.js"], "env": { "PYTHON_PATH": "/Users/[username]/anaconda3/envs/cline_mcp_env/bin/python3", "SMARTSHEET_API_KEY": "your-api-key", "AZURE_OPENAI_API_KEY": "your-azure-openai-key", "AZURE_OPENAI_API_BASE": "your-azure-openai-endpoint", "AZURE_OPENAI_API_VERSION": "your-api-version", "AZURE_OPENAI_DEPLOYMENT": "your-deployment-name" }, "disabled": false, "autoApprove": [ "get_column_map", "smartsheet_write", "smartsheet_update", "smartsheet_delete", "smartsheet_search", "smartsheet_add_column", "smartsheet_delete_column", "smartsheet_rename_column", "smartsheet_bulk_update", "start_batch_analysis", "get_job_status", "cancel_batch_analysis" ] } } }

3. Claude Desktop 用の設定(オプション)

構成パスはオペレーティング システムによって異なります。

macOS :

~/Library/Application Support/Claude/claude_desktop_config.json

ウィンドウズ:

%APPDATA%\Claude\claude_desktop_config.json

リナックス:

~/.config/Claude/claude_desktop_config.json
{ "mcpServers": { "smartsheet": { "command": "/Users/[username]/anaconda3/envs/cline_mcp_env/bin/node", "args": ["/path/to/smartsheet-server/build/index.js"], "env": { "PYTHON_PATH": "/Users/[username]/anaconda3/envs/cline_mcp_env/bin/python3", "SMARTSHEET_API_KEY": "your-api-key", "AZURE_OPENAI_API_KEY": "your-azure-openai-key", "AZURE_OPENAI_API_BASE": "your-azure-openai-endpoint", "AZURE_OPENAI_API_VERSION": "your-api-version", "AZURE_OPENAI_DEPLOYMENT": "your-deployment-name" }, "disabled": false, "autoApprove": [ "get_column_map", "smartsheet_write", "smartsheet_update", "smartsheet_delete", "smartsheet_search", "smartsheet_add_column", "smartsheet_delete_column", "smartsheet_rename_column", "smartsheet_bulk_update", "start_batch_analysis", "get_job_status", "cancel_batch_analysis" ] } } }

サーバーの起動

ClineまたはClaude Desktopで必要なときにサーバーが自動的に起動します。ただし、テストのために手動で起動することもできます。

macOS/Linux :

# Activate the environment conda activate cline_mcp_env # Start the server PYTHON_PATH=/Users/[username]/anaconda3/envs/cline_mcp_env/bin/python3 SMARTSHEET_API_KEY=your-api-key node build/index.js

ウィンドウズ:

:: Activate the environment conda activate cline_mcp_env :: Start the server set PYTHON_PATH=C:\Users\[username]\anaconda3\envs\cline_mcp_env\python.exe set SMARTSHEET_API_KEY=your-api-key node build\index.js

インストールの確認

  1. サーバーは起動時に「Smartsheet MCP server running on stdio」を出力する必要があります。

  2. 任意の MCP ツール(例:get_column_map)を使用して接続をテストします。

  3. Python 環境に smartsheet パッケージがインストールされていることを確認します。

    conda activate cline_mcp_env pip show smartsheet-python-sdk

使用例

列情報の取得(読み取り)

// Get column mapping and sample data const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "get_column_map", arguments: { sheet_id: "your-sheet-id", }, });

データの書き込み(作成)

// Write new rows to Smartsheet const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_write", arguments: { sheet_id: "your-sheet-id", column_map: { "Column 1": "1234567890", "Column 2": "0987654321", }, row_data: [ { "Column 1": "Value 1", "Column 2": "Value 2", }, ], }, });

データの更新(更新)

// Update existing rows const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_update", arguments: { sheet_id: "your-sheet-id", column_map: { Status: "850892021780356", Notes: "6861293012340612", }, updates: [ { row_id: "7670198317295492", data: { Status: "In Progress", Notes: "Updated via MCP server", }, }, ], }, });

データの削除(削除)

// Delete rows from Smartsheet const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_delete", arguments: { sheet_id: "your-sheet-id", row_ids: ["7670198317295492", "7670198317295493"], }, });

ヘルスケア分析の例

// Example 1: Pediatric Innovation Scoring const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "start_batch_analysis", arguments: { sheet_id: "your-sheet-id", type: "custom", sourceColumns: ["Ideas", "Implementation_Details"], targetColumn: "Pediatric_Score", customGoal: "Score each innovation 1-100 based on pediatric healthcare impact. Consider: 1) Direct benefit to child patients, 2) Integration with pediatric workflows, 3) Implementation feasibility in children's hospital, 4) Safety considerations for pediatric use. Return only a number.", }, }); // Example 2: Clinical Note Summarization const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "start_batch_analysis", arguments: { sheet_id: "your-sheet-id", type: "summarize", sourceColumns: ["Clinical_Notes"], targetColumn: "Note_Summary", }, }); // Example 3: Patient Satisfaction Analysis const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "start_batch_analysis", arguments: { sheet_id: "your-sheet-id", type: "sentiment", sourceColumns: ["Patient_Feedback"], targetColumn: "Satisfaction_Score", }, }); // Example 4: Protocol Compliance Scoring const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "start_batch_analysis", arguments: { sheet_id: "your-sheet-id", type: "custom", sourceColumns: ["Protocol_Steps", "Documentation", "Outcomes"], targetColumn: "Compliance_Score", customGoal: "Score protocol compliance 1-100. Consider: 1) Adherence to required steps, 2) Documentation completeness, 3) Safety measures followed, 4) Outcome reporting. Return only a number.", }, }); // Example 5: Research Impact Assessment const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "start_batch_analysis", arguments: { sheet_id: "your-sheet-id", type: "custom", sourceColumns: ["Research_Findings", "Clinical_Applications"], targetColumn: "Impact_Score", customGoal: "Score research impact 1-100 based on potential benefit to pediatric healthcare. Consider: 1) Clinical relevance, 2) Implementation potential, 3) Patient outcome improvement, 4) Cost-effectiveness. Return only a number.", }, }); // Monitor Analysis Progress const status = await use_mcp_tool({ server_name: "smartsheet", tool_name: "get_job_status", arguments: { sheet_id: "your-sheet-id", jobId: "job-id-from-start-analysis", }, }); // Cancel Analysis if Needed const cancel = await use_mcp_tool({ server_name: "smartsheet", tool_name: "cancel_batch_analysis", arguments: { sheet_id: "your-sheet-id", jobId: "job-id-to-cancel", }, });

列の管理

// Add a new column const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_add_column", arguments: { sheet_id: "your-sheet-id", title: "New Column", type: "TEXT_NUMBER", index: 2, // Optional position validation: true, // Optional formula: "=[Column1]+ [Column2]", // Optional }, }); // Delete a column const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_delete_column", arguments: { sheet_id: "your-sheet-id", column_id: "1234567890", validate_dependencies: true, // Optional, default true }, }); // Rename a column const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_rename_column", arguments: { sheet_id: "your-sheet-id", column_id: "1234567890", new_title: "Updated Column Name", update_references: true, // Optional, default true }, });

条件付き一括更新

smartsheet_bulk_updateツールは、強力な条件付き更新機能を提供します。以下に、単純なものから複雑なものまで、さまざまな例を示します。

単純な条件の例

// Example 1: Basic equals comparison const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_bulk_update", arguments: { sheet_id: "your-sheet-id", rules: [{ conditions: [{ columnId: "status-column-id", operator: "equals", value: "Pending" }], updates: [{ columnId: "status-column-id", value: "In Progress" }] }] } }); // Example 2: Contains text search const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_bulk_update", arguments: { sheet_id: "your-sheet-id", rules: [{ conditions: [{ columnId: "description-column-id", operator: "contains", value: "urgent" }], updates: [{ columnId: "priority-column-id", value: "High" }] }] } }); // Example 3: Empty value check const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_bulk_update", arguments: { sheet_id: "your-sheet-id", rules: [{ conditions: [{ columnId: "assignee-column-id", operator: "isEmpty" }], updates: [{ columnId: "status-column-id", value: "Unassigned" }] }] } });

型固有の比較

// Example 1: Date comparison const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_bulk_update", arguments: { sheet_id: "your-sheet-id", rules: [ { conditions: [ { columnId: "due-date-column-id", operator: "lessThan", value: "2025-02-01T00:00:00Z", // ISO date format }, ], updates: [ { columnId: "status-column-id", value: "Due Soon", }, ], }, ], }, }); // Example 2: Numeric comparison const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_bulk_update", arguments: { sheet_id: "your-sheet-id", rules: [ { conditions: [ { columnId: "progress-column-id", operator: "greaterThan", value: 80, // Numeric value }, ], updates: [ { columnId: "status-column-id", value: "Nearly Complete", }, ], }, ], }, }); // Example 3: Picklist validation const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_bulk_update", arguments: { sheet_id: "your-sheet-id", rules: [ { conditions: [ { columnId: "category-column-id", operator: "equals", value: "Bug", // Must match picklist option exactly }, ], updates: [ { columnId: "priority-column-id", value: "High", }, ], }, ], }, });

複雑な複数条件の例

// Example 1: Multiple conditions with different operators const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_bulk_update", arguments: { sheet_id: "your-sheet-id", rules: [ { conditions: [ { columnId: "priority-column-id", operator: "equals", value: "High", }, { columnId: "due-date-column-id", operator: "lessThan", value: "2025-02-01T00:00:00Z", }, { columnId: "progress-column-id", operator: "lessThan", value: 50, }, ], updates: [ { columnId: "status-column-id", value: "At Risk", }, { columnId: "flag-column-id", value: true, }, ], }, ], }, }); // Example 2: Multiple rules with batch processing const result = await use_mcp_tool({ server_name: "smartsheet", tool_name: "smartsheet_bulk_update", arguments: { sheet_id: "your-sheet-id", rules: [ { conditions: [ { columnId: "status-column-id", operator: "equals", value: "Complete", }, { columnId: "qa-status-column-id", operator: "isEmpty", }, ], updates: [ { columnId: "qa-status-column-id", value: "Ready for QA", }, ], }, { conditions: [ { columnId: "status-column-id", operator: "equals", value: "In Progress", }, { columnId: "progress-column-id", operator: "equals", value: 100, }, ], updates: [ { columnId: "status-column-id", value: "Complete", }, ], }, ], options: { lenientMode: true, // Continue on errors batchSize: 100, // Process in smaller batches }, }, });

一括更新操作では次の機能が提供されます。

  1. オペレーターサポート:

    • equals : 正確な値の一致

    • contains : 部分文字列の一致

    • greaterThan : 数値/日付の比較

    • lessThan : 数値/日付の比較

    • isEmpty : null/空チェック

    • isNotEmpty : 現在の値チェック

  2. タイプ固有の機能:

    • TEXT_NUMBER: 文字列と数値の比較

    • DATE: ISO日付の解析と比較

    • ピックリスト: オプション検証

    • チェックボックス: ブール処理

  3. 処理オプション:

    • batchSize : 更新バッチサイズを制御する(デフォルトは500)

    • lenientMode : エラーが発生しても続行する

    • リクエストごとに複数のルール

    • ルールごとに複数の更新

  4. 結果追跡:

    • 試行された行の合計数

    • 成功/失敗のカウント

    • 詳細なエラー情報

    • 行ごとの障害の詳細

発達

自動リビルドを使用した開発の場合:

npm run watch

デバッグ

MCPサーバーはstdio経由で通信するため、デバッグが困難になる場合があります。サーバーは包括的なエラーログを実装し、MCPプロトコルを通じて詳細なエラーメッセージを提供します。

主なデバッグ機能:

  • stderrへのエラーログ

  • MCP 応答の詳細なエラー メッセージ

  • 複数レベルでの型検証

  • 包括的な運用結果レポート

  • 列操作の依存性分析

  • 数式参照の追跡

エラー処理

サーバーは、多層エラー処理アプローチを実装します。

  1. MCPレイヤー

    • ツールパラメータを検証する

    • プロトコルレベルのエラーを処理する

    • フォーマットされたエラー応答を提供する

    • タイムアウトと再試行を管理する

  2. CLIレイヤー

    • コマンド引数を検証する

    • 実行エラーを処理する

    • エラーメッセージをJSONとしてフォーマットします

    • 列操作を検証する

  3. 運用レイヤー

    • Smartsheet API エラーを処理します

    • データ型と形式を検証する

    • 詳細なエラーコンテキストを提供する

    • 列の依存関係を管理する

    • 数式参照を検証する

    • データの整合性を保証する

貢献

貢献を歓迎します!以下の点にご注意ください。

  1. TypeScript/Pythonコードは既存のスタイルに従います

  2. 新しい機能には適切なエラー処理が含まれる

  3. 変更により下位互換性が維持される

  4. 更新には適切なドキュメントが含まれます

  5. 列操作はデータの整合性を維持します

  6. 数式参照は適切に処理されます

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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/terilios/smartsheet-server'

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