mcpField
🚀
🚀 Go-Tapd-SDK

🚀 Go-Tapd-SDK

本地服务
github.com开发工具101 天前更新

关于 🚀 Go-Tapd-SDK

Go-Tapd-SDK 是用于访问 Tapd API 的 Go 客户端库,适合开发 Tapd 应用或 Webhook 处理程序的 Go 开发者。项目说明当前版本尚不稳定,不建议用于生产环境。

主要功能

  1. 01通过 Go 访问 Tapd API
  2. 02Basic Authentication API 服务
  3. 03Personal Access Token API 服务
  4. 04Webhook 服务示例

适用场景

  1. 01在 Go 应用中调用 Tapd API
  2. 02使用 Basic Authentication 认证 API 请求
  3. 03使用 Personal Access Token 访问 API
  4. 04构建 Tapd Webhook 处理程序

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🚀 Go-Tapd-SDK

Supported Go Versions Package Version GoDoc codecov lint tests MIT license

Go-Tapd-SDK 是一个 Go 客户端库,用于访问 Tapd API。

警告


目前仍是非稳定版本,不建议用于生产环境。

如果遇到任何问题,欢迎提交 issue。

🧰 命令行工具

说明

🧰 更喜欢使用终端或 CI?试试配套项目 go-tapd/cli,这是一个基于此 SDK 构建的命令行工具。

⚙️ 使用 CLI 执行快速的本地操作、Shell 脚本和自动化任务。安装和使用示例请参阅代码仓库。

📥 安装

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)。更多信息请参阅许可证文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。