mcpField
🚀
🚀 Go-Tapd-SDK

🚀 Go-Tapd-SDK

ローカル
github.com開発ツール101 日前に更新

🚀 Go-Tapd-SDK について

Go-Tapd-SDKは、Tapd APIにアクセスするためのGoクライアントライブラリです。Tapdを利用するアプリケーションやWebhookハンドラーを開発するGo開発者向けで、現行版は不安定なため本番利用は推奨されていません。

主な機能

  1. 01GoからのTapd APIアクセス
  2. 02Basic Authentication APIサービス
  3. 03Personal Access Token APIサービス
  4. 04Webhookサーバーの例

活用シーン

  1. 01GoアプリケーションからTapd APIを呼び出す
  2. 02Basic AuthenticationによるAPIリクエスト認証
  3. 03Personal Access TokenによるAPIアクセス
  4. 04Tapd Webhookハンドラーの構築

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🚀 Go-Tapd-SDK

Supported Go Versions Package Version GoDoc codecov lint tests MIT license

Go-Tapd-SDK は、Tapd API にアクセスするための Go クライアントライブラリです。

警告


現在もまだ安定版ではないため、本番環境での使用は推奨されません。

問題が発生した場合は、issue を送信してください。

🧰 コマンドラインツール

メモ

🧰 ターミナルや CI での使用をお考えですか?この SDK をベースに構築されたコマンドラインツール、姉妹プロジェクトの go-tapd/cli をお試しください。

⚙️ ローカルでの簡単な操作、シェルスクリプト、オートメーションには CLI をご利用ください。インストール方法と使用例については、 リポジトリをご覧ください。

📥 インストール

go get github.com/go-tapd/tapd

✨ 機能

features.md をご覧ください。

🔧 使用方法

API サービス
  • Basic Authentication API サービスの使用例:
package main

import (
	"context"
	"log"

	"github.com/go-tapd/tapd"
)

func main() {
	client, err := tapd.NewClient("client_id", "client_secret")
	if err != nil {
		log.Fatal(err)
	}

	// example: get labels
	labels, _, err := client.LabelService.GetLabels(context.Background(), &tapd.GetLabelsRequest{
		WorkspaceID: new(123456),
	})
	if err != nil {
		log.Fatal(err)
	}

	log.Printf("labels: %+v", labels)
}
  • Personal Access Token(PAT)API サービスの使用例:
package main

import (
	"context"
	"log"

	"github.com/go-tapd/tapd"
)

func main() {
	client, err := tapd.NewPATClient("your_access_token")
	if err != nil {
		log.Fatal(err)
	}

	// example: get stories
	stories, _, err := client.StoryService.GetStories(context.Background(), &tapd.GetStoriesRequest{
		WorkspaceID: new(123456),
	})
	if err != nil {
		log.Fatal(err)
	}

	log.Printf("stories: %+v", stories)
}
Webhook サーバーの例
package main

import (
	"context"
	"log"
	"net/http"

	"github.com/go-tapd/tapd/webhook"
)

type StoreUpdateListener struct{}

func (l *StoreUpdateListener) OnStoryUpdate(ctx context.Context, event *webhook.StoryUpdateEvent) error {
	log.Printf("StoreUpdateListener: %+v", event)
	return nil
}

func main() {
	dispatcher := webhook.NewDispatcher(
		webhook.WithRegisters(&StoreUpdateListener{}),
	)
	dispatcher.Registers(&StoreUpdateListener{})

	srv := http.NewServeMux()
	srv.HandleFunc("/webhook", func(w http.ResponseWriter, r *http.Request) {
		log.Println("Received webhook request")
		if err := dispatcher.DispatchRequest(r); err != nil {
			log.Println(err)
		}
		w.Write([]byte("ok"))
	})

	http.ListenAndServe(":8080", srv)
}

📜 ライセンス

MIT License(MIT)。詳しくはライセンスファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。