tymewear-mcp
Tyme Wear MCP Server
Model Context Protocol サーバーで、Claude を Tyme Wear 呼吸センサープラットフォームに接続します。換気データ、アクティビティ、閾値、トレーニングゾーンを Claude から直接分析できます。
trainingpeaks-mcp と同じアーキテクチャで構築されています。
Tyme Wear とは?
Tyme Wear は VitalPro チェストストラップを製造しており、心拍数に加えて換気指標(呼吸数、一回換気量、分時換気量)を測定するウェアラブル呼吸センサーです。換気閾値(VT1、VT2)を使用してパーソナライズされたトレーニングゾーンを定義します。Team Visma | Lease a Bike が使用しています。
Related MCP server: Strava MCP Server
機能
40 の MCP ツール:プロフィール、アクティビティ、呼吸データ、VE 閾値、アクティビティごとのコンパクト分析、アクティビティファイル/検出、トレーニングプラン、ワークアウト推奨、連携、サブスクリプション/アカウント、安静時/最大生理機能、エクスポートに対応
システムキーリング(macOS Keychain / Windows Credential Manager)による安全な認証情報保存、AES-256-GCM 暗号化ファイルフォールバック付き
自動認証:トークンキャッシュと期限切れ時の自動再認証
スマート呼吸データ:サマリー、ウィンドウ、フルモードでコンテキストオーバーフローを防止
アクティビティごとのインサイト(
tw_get_activity_insights):検出された VT1/VT2/VO2max、測定された閾値パワー、信頼度スコア、打ち切りテストフラグ、ゾーンごとの時間/カロリーを1回の呼び出しで取得(FIT 解析不要)コンパクトアクティビティ分析(
tw_get_activity_analysis):調整済みタイムスタンプ、ラベル付きサマリーと機能状態、チャンネルごとの processed/new-processed/FIT フォールバック、決定論的な経過秒マージ、ページネーションスリムなアクティビティペイロード:
tw_get_activityとtw_get_activity_workout_zone_detectionはデフォルトで数 MB の毎秒配列を削除(include=[...]でオプトイン可能)パブリック Streamable HTTP モード:静的 Bearer トークンまたは OAuth 認証(ワンクリック claude.ai コネクタ)、オペレーターの Tyme Wear アカウントへのシングルテナント
クイックスタート
1. インストール
git clone https://github.com/tkelkermans/tymewear-mcp.git
cd tymewear-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e .2. 認証
tymewear-mcp authTyme Wear のメールアドレスとパスワードを入力してください。認証情報はシステムキーリングに安全に保存され、暗号化ファイルフォールバックが使用されます。
3. Claude Desktop の設定
Claude Desktop の設定ファイル(macOS では ~/Library/Application Support/Claude/claude_desktop_config.json)に以下を追加します:
{
"mcpServers": {
"tymewear": {
"command": "/path/to/tymewear-mcp/.venv/bin/tymewear-mcp",
"args": ["serve"]
}
}
}または、tymewear-mcp config を実行して正しいパスを含むスニペットを生成します。
4. Claude Desktop を再起動
Tyme Wear ツールが Claude のツールリストに表示されます。
CLI コマンド
コマンド | 説明 |
| Tyme Wear 認証情報を保存(インタラクティブ、または |
| 保存された認証情報が有効か確認 |
| 保存された認証情報を削除 |
| Claude Desktop 設定スニペットを出力 |
| MCP サーバーを起動(stdio トランスポート) |
| パブリック Streamable HTTP サーバーを起動 |
パブリックインターネットデプロイ
serve-public はホスト型デプロイ用の Streamable HTTP MCP エンドポイントを公開します。認証が必要でステートレスです。匿名の公開 API ではありません。
パブリックサーバー
環境変数で公開 URL と 1 つ以上の MCP Bearer トークンを設定します。各 Bearer トークンは最低 32 文字必要です。生成されたランダムシークレットを使用してください。
export TYMEWEAR_PUBLIC_URL="https://mcp.example.com/mcp"
export TYMEWEAR_PUBLIC_BEARER_TOKENS="replace-with-a-long-random-secret-of-32-plus-chars"
tymewear-mcp serve-public \
--host 0.0.0.0 \
--port 8000 \
--public-url "$TYMEWEAR_PUBLIC_URL"MCP エンドポイントはデフォルトで /mcp です。/healthz は {"status":"ok"} のみを返し、顧客データを公開しません。
コンテナ
同梱の Dockerfile は非 root ユーザーでパブリックサーバーを実行します。実行時にシークレットを注入します:
docker build -t tymewear-mcp-public .
docker run --rm -p 8000:8000 \
-e TYMEWEAR_PUBLIC_URL="https://mcp.example.com/mcp" \
-e TYMEWEAR_PUBLIC_BEARER_TOKENS="replace-with-a-long-random-secret-of-32-plus-chars" \
tymewear-mcp-publicVercel
リポジトリにはルートの Vercel Python ASGI エントリポイント(main.py)も含まれています。Vercel の Python フレームワークはリクエストを ASGI アプリに直接ルーティングするため、vercel.json で /mcp、/healthz、/.well-known/* を内部関数パスに書き換えてはいけません。ローカルディレクトリを目的の Vercel プロジェクトにリンクし、そのプロジェクトを Git リポジトリに接続してから、少なくとも TYMEWEAR_PUBLIC_BEARER_TOKENS を Production と Preview の両方に設定します。パブリック Bearer トークン環境変数がない場合、エントリポイントはクローズド状態で失敗します。Preview には別の Bearer トークンを使用して認証情報の範囲を制限してください。TYMEWEAR_PUBLIC_URL はプロダクションエイリアスに推奨されますが、プレビューデプロイでは Vercel のデプロイ URL から派生させることができます。
PRODUCTION_TOKEN_FILE=/path/to/generated-production-bearer-token
PREVIEW_TOKEN_FILE=/path/to/generated-preview-bearer-token
chmod 600 "$PRODUCTION_TOKEN_FILE" "$PREVIEW_TOKEN_FILE"
vercel link
vercel git connect
vercel env add TYMEWEAR_PUBLIC_BEARER_TOKENS production --sensitive --yes < "$PRODUCTION_TOKEN_FILE"
vercel env add TYMEWEAR_PUBLIC_BEARER_TOKENS preview --sensitive --yes < "$PREVIEW_TOKEN_FILE"トークンファイルは所有者のみ読み取り可能にしてください。デプロイメントラッパーはグループまたはその他がアクセス可能なトークンファイルを拒否します。既存のトークンをローテーションする場合は、vercel env update TYMEWEAR_PUBLIC_BEARER_TOKENS production --sensitive --yes < "$PRODUCTION_TOKEN_FILE" を使用してください。Bearer トークンを vercel deploy --env、シェルの echo、またはシェル履歴やプロセス一覧に残る可能性のあるコマンド引数で渡さないでください。
同じパスは scripts/deploy_public_vercel.sh で手動リカバリデプロイ用にラップされています。既存の Vercel プロジェクトリンクが必要で、ファイルからトークンをアップロードし、プロダクションにデプロイし、デプロイされた MCP URL に対して scripts/verify_public_endpoint.py を実行します:
scripts/deploy_public_vercel.sh --token-file "$PRODUCTION_TOKEN_FILE"検証ツールを特定のインタプリタ(リポジトリの仮想環境など)で実行する場合は、PYTHON=/path/to/python を設定します。
自動デプロイ(CI/CD)
.github/workflows/deploy.yml は、すべてのプッシュとプルリクエストでロックされたテストスイート(ruff + mypy + pytest)を実行します。Vercel 認証情報を保持したり、アプリケーションをデプロイしたりしません。
リンクされた Vercel Git インテグレーションは、フィーチャーブランチとプルリクエスト用のプレビューデプロイを作成し、main が更新されるとプロダクションデプロイを作成します。VERCEL_TOKEN GitHub Actions シークレットは必要ありません。TYMEWEAR_PUBLIC_BEARER_TOKENS などのランタイム変数は Vercel プロジェクトで管理され、Git デプロイ間で保持されます。
claude.ai コネクタ(OAuth)
静的 Bearer トークンはヘッダー対応クライアント(Claude Code: claude mcp add --transport http <url> --header "Authorization: Bearer <token>")で機能します。一方、claude.ai のコネクタは OAuth で認証するため、MCP を追加するにはサーバーが OAuth 保護リソース として動作します。管理されたプロバイダー(例:WorkOS AuthKit や Stytch)からの JWT アクセストークンを検証し、メールアドレスの許可リストを適用します。シングルテナントのままです。すべての承認されたユーザーは、サーバー側の認証情報を介してオペレーターのデータを読み取ります。
これを有効にするには、以下の(機密)Vercel 環境変数を設定します:
変数 | 目的 |
| プロバイダーの発行者 URL(OAuth 保護リソースモードを有効化) |
| オプションの期待されるトークン |
| オプションの明示的な JWKS URL(未設定の場合は発行者から検出) |
| オプションのクライアントに通知するスコープ(デフォルト |
| 接続を許可するメールアドレスのカンマ区切り許可リスト |
| すべてのアップストリーム呼び出しに使用されるオペレーターの Tyme Wear 認証情報 |
プロバイダー設定(WorkOS AuthKit の例):アプリを作成し、Google/メールログインを有効にし、Dynamic Client Registration を有効にして claude.ai が自己登録できるようにし、発行者 URL を TYMEWEAR_PUBLIC_ISSUER_URL にコピーします。次に、claude.ai でコネクタを追加します。サーバーの /.well-known/oauth-protected-resource を介してプロバイダーを検出し、登録し、ホスト型ログインを実行します。許可リストに登録されたメールアドレスのみが許可されます。
静的 TYMEWEAR_PUBLIC_BEARER_TOKENS パスは OAuth と並行して機能し続けます(デュアルモード)。TYMEWEAR_PUBLIC_ISSUER_URL がない場合、OAuth はオフになり、Bearer パスのみがアクティブになります。
デプロイ後の検証
デプロイ後、シークレットを出力せずにパブリックエンドポイントを検証します:
TYMEWEAR_PUBLIC_URL="https://mcp.example.com/mcp" \
python scripts/verify_public_endpoint.py --bearer-token-file "$TOKEN_FILE"検証ツールは /healthz、認証なしの /mcp 拒否、認証済み MCP initialize、認証済み tools/list、必須のコンパクト分析/プロフィールツール、およびパブリックセキュリティ/キャッシュなしヘッダーをチェックします。
また、パブリックデプロイが生のアクティビティ読み取りやディスクエクスポートをアドバタイズしないこと、およびデフォルトのデプロイが変更ツールをアドバタイズしないことを確認します。
パブリッククライアント認証
パブリックモードは シングルテナント です。TYMEWEAR_EMAIL / TYMEWEAR_PASSWORD(サーバー側の環境変数)からのオペレーター自身の認証情報を使用して Tyme Wear にアップストリーム認証を行うため、承認されたすべての呼び出し元がオペレーターのデータを読み取ります。クライアントは接続が許可されていることを証明するだけでよく、リクエストごとの Tyme Wear トークンは必要ありません。
ヘッダー対応クライアント(例:Claude Code)は静的ゲートウェイ Bearer トークンを送信します:
Authorization: Bearer <TYMEWEAR_PUBLIC_BEARER_TOKENS entry>OAuth が有効な場合(TYMEWEAR_PUBLIC_ISSUER_URL が設定されている場合)、claude.ai コネクタなどのクライアントは、ホスト型ログインを通じて取得したプロバイダー発行の JWT を送信します。サーバーはそれを検証し(JWKS による署名、発行者、オプションの audience)、許可リストに登録されたメールアドレスのみを許可します。両方のパスが同時に機能します(デュアルモード)。
以前のリビジョンでは、リクエストごとに
X-Tymewear-Tokenが必要でした。シングルテナントモードで削除されました。認証情報はサーバー側になりました。
パブリックデータポリシー
パブリックモードでは:
アクセスは静的 Bearer トークンおよび/または OAuth メール許可リストによって制限されます。許可リストに登録された ID のみが接続できます。
オペレーターの Tyme Wear 認証情報はサーバー側の環境変数にのみ存在します(シークレットマネージャーに保管してください)。環境変数から直接読み取られます。パブリックモードはローカルのキーリングや暗号化認証情報ファイルには 触れません(これらは
$HOMEに書き込まれますが、サーバーレスでは読み取り専用です)。すべてのツール結果と安定したパブリックエラーは、JSON シリアル化の前に、1 つの非変更再帰的プライバシープロジェクションを通過します。これにより、非 JSON 値、非有限数、メールアドレス、ユーザー/アカウント/プロフィール UUID、デバイス識別子/シリアル、トークン、署名付き/コールバック/ダウンロード URL、S3 または一時パス、大きな生フィールド、および明示的な分析ロケーション契約外の座標が削除されます。
tw_get_activity_analysisはパブリックのコンパクトな生サンプルインターフェースです。ラベル付きの可用性、機能、チャンネル、出典、サマリー、ページネーションされたサンプルデータを保持します。include_locationはリテラルブール値trueでなければなりません。その場合のみ、raw_samples.data[*].position_lat/position_longとそれに対応するチャンネルメタデータが残る可能性があります。自宅、一般的、および無関係な座標は常に削除されます。パブリックレスポンスには
Cache-Control: no-store、Pragma: no-cache、X-Robots-Tag: noindex, nofollow、HTTPS 公開 URL 用の HSTS、およびベースラインセキュリティヘッダーが含まれ、中間キャッシュ、インデックス作成、ブラウザ側での顧客データ漏洩を誤って減らします。プロフィール/アクティビティ変更ツールは非表示になり、デフォルトで
PUBLIC_MUTATIONS_DISABLEDを返します。信頼できるデプロイでのみ--allow-mutationsまたはTYMEWEAR_PUBLIC_ALLOW_MUTATIONS=trueで有効にしてください。CSV、FIT、ストラップファイルエクスポートツールは、ローカル実装がファイルをディスクに書き込むため、
PUBLIC_EXPORTS_DISABLEDを返します。tw_get_processed_data、tw_get_new_processed_data、tw_get_activity_logs、tw_get_activity_strap_filesは非表示になり、変更が有効な場合でもPUBLIC_RAW_DATA_DISABLEDを返します。ローカルの stdio モードではこれらのツールが保持されます。コンパクトなワークアウトゾーン検出はパブリックのままです。
公開ツールのエラーは安定しており、上流の例外テキストをエコーしません:
コード | 意味 |
| リクエストが公開された厳密なツールスキーマと一致しません |
| リクエストされたツールが登録されていません |
| サーバー側の Tyme Wear 資格情報が利用できません |
| 公開クライアント、ハンドラー、クローズ、またはプロジェクション操作が失敗しました |
| raw/log/ファイル読み取りツールがパブリックモードで利用できません |
| ディスク書き出しエクスポートがパブリックモードで利用できません |
| 明示的な信頼されたデプロイメントのオプトインなしではミューテーションが利用できません |
プロダクションの堅牢化
エッジでTLSを終端し、
TYMEWEAR_PUBLIC_URLを正規のHTTPS MCP URLに設定します。TYMEWEAR_PUBLIC_URLのパスをマウントされたMCPパス(デフォルトは/mcp)に合わせます。パブリックモードでは、起動時にURLのクエリ文字列、フラグメント、ルート/パスの不一致を拒否します。TYMEWEAR_PUBLIC_BEARER_TOKENSをシークレットマネージャーから注入し、シェル履歴やソースコントロールからは注入しないでください。32文字未満のトークンは起動時に拒否されます。プロファイル/アクティビティのミューテーションに対する特定の信頼できるクライアント要件がない限り、パブリックデプロイメントは読み取り専用に保ちます。
信頼できないクライアントに対しては、
serve-publicの前にOAuthまたはアイデンティティ認識プロキシを使用することを推奨します。静的ベアラートークンは定期的にローテーションしてください。OAuth対応プロキシまたは認可サーバーを使用する場合、
TYMEWEAR_PUBLIC_ISSUER_URLまたは--issuer-urlを設定して、MCPクライアントが保護リソースのメタデータを発見できるようにします。パブリックHTTPリクエストボディはデフォルトで1 MiBに制限され、チャンク/ストリーム本文も含みます。
TYMEWEAR_PUBLIC_MAX_BODY_BYTESまたは--max-body-bytesで上書きするのは、信頼できるデプロイメントでより大きなJSON-RPCリクエストが必要な場合のみにしてください。リバースプロキシおよびアプリケーションプラットフォームで、認可ヘッダー、リクエストボディ、レスポンスボディのログ記録を無効にしてください。
プラットフォームがサポートする場合、アウトバウンドネットワークのエグレスをTyme Wear APIホストに制限してください。
パブリックURLホストだけが有効なホスト/オリジンでない場合は、明示的な
--allowed-hostと--allowed-originの値を設定してください。パブリックモードでは、すべてのルートで信頼できないHostヘッダーを拒否し、ワイルドカード*のホスト/オリジン設定を拒否し、許可されたオリジンはパスを含まない正確な http(s) オリジンである必要があり、localhost 以外のオリジンはHTTPSを使用する必要があります。
利用可能なツール
認証とプロファイル
ツール | 説明 |
| 認証ステータスとトークンの有効性を確認します |
| アスリートプロファイル(体重、身長、スポーツごとのVE目標(VT1、BP、VT2、VO2max)、サブスクリプションステータス、外部アカウント)を取得します |
| プロファイルフィールド(体重、身長、単位)を更新します |
アクティビティ
ツール | 説明 |
| カーソルページネーションとスポーツ、アクティビティタイプ、検索、ユーザーID、プロチームのウェブサイトフィルターを使用してアクティビティを一覧表示します |
| アクティビティの詳細(継続時間、閾値、ゾーン、TSS、ファームウェア、サードパーティリンク)を取得します。大きな配列はデフォルトで要約されます。ローカルの stdio 呼び出し元は |
| 読み取り専用のコンパクトな分析を取得します。タイムスタンプの調整、要約、ブレークポイント、明示的な機能、チャネルごとのソース/単位/カバレッジ/来歴、およびページネーション前にマージされたサンプルを含みます。 |
| アクティビティごとのコンパクトなレポートを取得します。VT1/VT2/エンデュランスのVE+HR+信頼度、測定された閾値パワー、検出されたブレークポイントタイム、ゾーンごとの時間/カロリー、品質フラグ、打ち切りテストフラグ、VE目標を含みます。テストとライドの両方で機能します |
| アクティビティのアルゴリズム処理ステータスを取得します |
| 閾値検出のためにアクティビティをピン/ピン解除します |
| 現在ピンされているアクティビティを取得します |
| アクティビティを削除します(元に戻せません) |
呼吸データ
ツール | 説明 |
| ローカルのみ、秒単位の呼吸時系列データを要約、ウィンドウ、フルモードで取得します。パブリックモードでは代わりに |
| ローカルのみ、新しいフォーマットの処理データが利用可能な場合に取得します。パブリックモードでは代わりに |
アクティビティファイルと検出
ツール | 説明 |
| ローカルのみ、読み取り専用のアクティビティログ/イベントを取得します |
| ローカルのみ、ストラップファイルのメタデータが利用可能な場合に取得します |
| 生のストラップファイルが利用可能な場合にエクスポートします |
| ワークアウトゾーン検出(ゾーンごとの時間/カロリー、VT1/VT2 VE+HR+信頼度、推定パワー)を取得します。ポイントクラウドはデフォルトで要約されます。ローカルの stdio 呼び出し元は |
トレーニングプランとワークアウト
ツール | 説明 |
| 現在のトレーニングプランを取得します |
| 指定された日のトレーニングプランデータを取得します |
| 指定された週のトレーニングプランデータを取得します |
| トレーニングプランの履歴を取得します |
| トレーニングプランの設定を取得します |
| トレーニングプランのプレビューを取得します |
| ワークアウトの推奨を取得します |
統合とアカウント
ツール | 説明 |
| 統合を一覧表示します |
| 統合の詳細を取得します |
| 統合のヘルス/ステータスを取得します |
| サブスクリプションステータスを取得します |
| 利用可能なサブスクリプションプランを取得します |
| 安静時/最大生理値を取得します |
閾値とゾーン
ツール | 説明 |
| スポーツごとの現在のVE目標(VT1、BP、VT2、VO2max) |
| 外部パワー系列( |
| アクティビティ全体のゾーン時間分布を取得します |
| 特定のアクティビティからの換気閾値(vt1、vt2、bp、vo2max)をタグ付けします |
| 特定のアクティビティからの新しいモデルゾーン値(fatmax、vt1、vt2、vo2max)をタグ付けします |
最大値
ツール | 説明 |
| 保留中の最大値検出通知を一覧表示します |
| 検出された最大値を受け入れるか却下します |
エクスポート
ツール | 説明 |
| アクティビティをCSVとしてエクスポート |
| 全データチャンネルを含む完全なCSVをエクスポート |
| アクティビティをFITファイルとしてエクスポート |
プロンプト例
設定後、Claudeに次のような質問ができます:
"最後の10件の自転車アクティビティを表示して"
"昨日のライドの呼吸データを分析して — 平均VEと各ゾーンにいた時間は?"
"現在のサイクリングにおけるVT1とVT2の閾値は?"
"最後の閾値テストのインサイトを取得して — VT2でのパワーと、VO2maxに達したかどうかは?"
"最後のアクティビティをFITファイルとしてエクスポートして"
"ランニングとサイクリングのVE目標を比較して"
"現在のトレーニングプランとワークアウトの推奨を表示して"
"最新のライドにストラップファイル、ログ、ワークアウトゾーン検出結果があるか確認して"
"接続済みの連携とサブスクリプションステータスを一覧表示して"
セキュリティ
認証情報はシステムキーリング(推奨)またはAES-256-GCM暗号化ファイル(PBKDF2鍵導出、60万回反復、マシン固有のソルト)に保存
トークンと認証情報は決してMCPツールの結果に返されません(Claudeに到達する前にサニタイズされます)
CI/コンテナ向けに環境変数認証が利用可能:
TYMEWEAR_EMAIL+TYMEWEAR_PASSWORD暗号化された認証情報ファイルのファイルパーミッションは600(所有者のみ読み取り/書き込み)に設定
パブリックモードではベアラーまたはOAuth認証が必要で、シングルテナントです:上流のTyme Wear認証はサーバーサイドの
TYMEWEAR_EMAIL/TYMEWEAR_PASSWORD環境変数を使用(ローカルのキーリングや暗号化ファイルは使用しません。これらはサーバーレスでは読み取り専用です)。すべての結果はプライバシーが保護され、raw/ファイル/エクスポートツールは無効化されています
アーキテクチャ
tymewear-mcp/
├── src/tymewear_mcp/
│ ├── cli.py # CLI entry point
│ ├── server.py # MCP server + 40 tool registrations
│ ├── public.py # Public Streamable HTTP server + bearer/OAuth auth
│ ├── auth/ # Credential storage (keyring → encrypted → env) + OIDC verifier (oidc.py)
│ ├── client/ # Async HTTP client + Pydantic models
│ └── tools/ # Tool implementations (incl. threshold_analysis.py, _slimming.py)
└── tests/ # 340 tests技術スタック: Python 3.10+、MCP SDK、httpx、Pydantic、keyring、cryptography、PyJWT
開発
pip install -e ".[dev]"
pytest tests/ -v # Run tests
ruff check src tests # Lint
mypy src/ # Type checkライセンス
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityAmaintenanceConnects Claude Desktop to Garmin Connect, enabling natural language queries of fitness activity data, health metrics, sleep analysis, workout management, and device information with 94 available tools.1101MIT
- AlicenseAqualityDmaintenanceConnects Claude to your Strava account for analyzing training, predicting race times, and generating periodized training plans via natural language.1361ISC
- FlicenseNot gradedqualityBmaintenanceConnects Claude to Garmin Connect data for personalized running coaching, including morning readiness checks, post-run analysis, weekly reviews, and goal tracking.
- AlicenseAqualityDmaintenanceConnects Strava training data to Claude, enabling personalized coaching through analysis of training load, workout planning, gear maintenance, and power metrics.10MIT
Related MCP Connectors
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/tkelkermans/tymewear-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server