@tool-bridge/server 0.21.1 → 0.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin.js +170 -0
- package/dist/airtable-ML2GIGCH.js +790 -0
- package/dist/{alt_text_generator_ai-W7O34SNG.js → alt_text_generator_ai-FGYQAF2A.js} +12 -11
- package/dist/{amap-VOX4T2AW.js → amap-G7V65NGK.js} +221 -220
- package/dist/anthropic-6ZK24TBB.js +203 -0
- package/dist/apify-VDGYHP6W.js +248 -0
- package/dist/brave_search-TAATLZOS.js +302 -0
- package/dist/chunk-2IAI3XQM.js +302 -0
- package/dist/chunk-7ISGFRC6.js +161 -0
- package/dist/{chunk-E6JCVKW6.js → chunk-BNMLA2RC.js} +3 -3
- package/dist/chunk-HA4BGL6C.js +8429 -0
- package/dist/{chunk-KMTT3I6D.js → chunk-RMAWSG7E.js} +19172 -25717
- package/dist/{chunk-XYBU3WZH.js → chunk-RTW5VRTK.js} +3 -3
- package/dist/chunk-U7PTOA3U.js +7320 -0
- package/dist/chunk-UY6ANCOY.js +378 -0
- package/dist/{chunk-ATK45BXV.js → chunk-X7ZUTKHR.js} +4 -2
- package/dist/circleci-BQ2UWXL2.js +389 -0
- package/dist/clerk-2JYWQNOI.js +1019 -0
- package/dist/cohere-6MI7AQM4.js +185 -0
- package/dist/{confluence-B3EWPZVE.js → confluence-6Y6GDETF.js} +105 -104
- package/dist/{convertapi-EUWSQYPF.js → convertapi-HBZCSWOX.js} +32 -31
- package/dist/{currencyapi-KVTIK3GL.js → currencyapi-337U5TGI.js} +71 -71
- package/dist/deepseek-OSPASO7O.js +210 -0
- package/dist/docker_hub-3ATQOY5L.js +933 -0
- package/dist/dropbox-LSA4GM2Y.js +1305 -0
- package/dist/dub-VZPJSPI6.js +680 -0
- package/dist/e2b-6SDYQZL2.js +278 -0
- package/dist/exa-B6EUYDVP.js +332 -0
- package/dist/{fal_ai-23E7JPNT.js → fal_ai-K4Q27IME.js} +81 -80
- package/dist/{feishu-7QRIDUV6.js → feishu-4TKXG4SU.js} +528 -572
- package/dist/{feishu_custom_bot-TJ4K7QNJ.js → feishu_custom_bot-7CTEAKRB.js} +57 -53
- package/dist/figma-OUKSZLD5.js +777 -0
- package/dist/firehydrant-7MOYL7QH.js +563 -0
- package/dist/{fixer-BWON27UO.js → fixer-H2BV2NO4.js} +34 -33
- package/dist/fly-PXKY6PNH.js +469 -0
- package/dist/{front-QCGXYEDJ.js → front-UZYIV5DW.js} +104 -104
- package/dist/geocodio-NSYO7TFP.js +213 -0
- package/dist/ghost-QBKKQQMF.js +338 -0
- package/dist/github-ENLSJ4CL.js +5421 -0
- package/dist/gmail-KQSDEB47.js +1887 -0
- package/dist/googlecalendar-5YCX4SZF.js +2524 -0
- package/dist/{googledocs-BUHL4J2H.js → googledocs-SSWIVFKA.js} +341 -340
- package/dist/{grafana-GLU2DWF2.js → grafana-TF2LXDQA.js} +221 -220
- package/dist/graphhopper-CURBVHYK.js +325 -0
- package/dist/index.d.ts +1132 -332
- package/dist/index.js +31 -14
- package/dist/{ip2proxy-EZ64Y4ZH.js → ip2proxy-YNVMTZEM.js} +28 -27
- package/dist/ipgeolocation_io-NAU7VJ4J.js +315 -0
- package/dist/ipqualityscore-OT63L4TI.js +279 -0
- package/dist/{jina_ai-EFBHTBXL.js → jina_ai-6WBMBGWM.js} +23 -23
- package/dist/{jira-HQSHAA5K.js → jira-DVDVTHNO.js} +118 -117
- package/dist/langsmith-IM5N4YAU.js +593 -0
- package/dist/lemlist-277SHUQF.js +289 -0
- package/dist/{linear-K7RYFYAD.js → linear-AEPH7B5V.js} +327 -326
- package/dist/logsnag-VEWRAGBG.js +150 -0
- package/dist/main.js +57 -280
- package/dist/{mattermost-S2BRCWLQ.js → mattermost-Q3A2BIZA.js} +59 -58
- package/dist/mem0-AXS7GZGI.js +544 -0
- package/dist/memos-7TXG4ZTU.js +744 -0
- package/dist/{metabase-MMSEPCOF.js → metabase-NSVACWQM.js} +90 -89
- package/dist/mistral_ai-YZ52RGD4.js +1196 -0
- package/dist/{mother_duck-H7PCQNZ2.js → mother_duck-XLLL6FVL.js} +94 -93
- package/dist/ngrok-4O4W3WZW.js +356 -0
- package/dist/{notes-PFMKRO33.js → notes-YTB3TJOO.js} +11 -9
- package/dist/notion-4W4O7J7V.js +940 -0
- package/dist/open_exchange_rates-23QJXVO5.js +215 -0
- package/dist/openai-ZS7GLSLH.js +800 -0
- package/dist/opengraph_io-PMVH7OYI.js +362 -0
- package/dist/openrouter-ONRGFNB6.js +441 -0
- package/dist/outline-UCUYZZ7J.js +599 -0
- package/dist/paddle-35HTKTUL.js +454 -0
- package/dist/perplexity-NVOBYN24.js +220 -0
- package/dist/pinecone-55CJY73C.js +571 -0
- package/dist/{pipedrive-Y2O7QGFF.js → pipedrive-WMCAKS72.js} +99 -98
- package/dist/polar-SM4ZM53B.js +395 -0
- package/dist/posthog-NWCXVXNJ.js +3464 -0
- package/dist/postmark-QJV5PHUQ.js +427 -0
- package/dist/{prerender-MENYM2TY.js → prerender-2W7UT4SC.js} +31 -30
- package/dist/{pubmed-GOXUVVH5.js → pubmed-VVV7XYLU.js} +239 -238
- package/dist/{railway-V2SID4WV.js → railway-KGI57S3O.js} +118 -117
- package/dist/readwise-AGHTQB42.js +470 -0
- package/dist/render-O4HBROCK.js +461 -0
- package/dist/{replicate-756MXPYX.js → replicate-KWBOMX7D.js} +81 -80
- package/dist/{resend-ZKH3BTBI.js → resend-DRH6Y6I4.js} +20 -16
- package/dist/rootly-XGCUDW6X.js +336 -0
- package/dist/{scrapfly-NSRHFDIQ.js → scrapfly-OIQ3OY6L.js} +62 -61
- package/dist/{scrapingbee-OQHLAVEY.js → scrapingbee-OCZO4FHX.js} +56 -56
- package/dist/{screenshot_fyi-DVWG3AXC.js → screenshot_fyi-CUNGFZOC.js} +16 -16
- package/dist/semantic_scholar-3UJRLKES.js +611 -0
- package/dist/{sentry-546MNDJG.js → sentry-5BWVZFJV.js} +208 -207
- package/dist/{shodan-C3OON3Z3.js → shodan-HI37CTEW.js} +62 -61
- package/dist/shopify-LJ2EV2HH.js +610 -0
- package/dist/stripe-3LHMV55K.js +585 -0
- package/dist/{supabase-U2SL4D63.js → supabase-H2KPX3Q2.js} +245 -244
- package/dist/tavily-FBEWGH3Z.js +326 -0
- package/dist/telegram-MYYO3JND.js +1767 -0
- package/dist/{telnyx-CXQ4EZUX.js → telnyx-H4ALEGAX.js} +57 -56
- package/dist/todoist-OBWICA5Q.js +664 -0
- package/dist/trello-GUFUJRWO.js +1080 -0
- package/dist/turso-NIAK4UMS.js +416 -0
- package/dist/{twilio-4PDBJKWX.js → twilio-K6SLK2CX.js} +70 -69
- package/dist/umami-42RS2EPS.js +389 -0
- package/dist/unsplash-V7TOTETT.js +351 -0
- package/dist/{upstash_redis-G4LQBYHA.js → upstash_redis-AWQMB6Y3.js} +51 -50
- package/dist/uptimerobot-AZC2DHOT.js +483 -0
- package/dist/v2ex-4TVRNMLS.js +667 -0
- package/dist/vercel-DPHTJ3XR.js +1076 -0
- package/dist/{wolfram_alpha_api-3G4PUJWB.js → wolfram_alpha_api-XAG7IXBW.js} +36 -35
- package/dist/wordpress-KMPKVGUX.js +812 -0
- package/dist/workos-PKB2YR7S.js +664 -0
- package/dist/zhihu-Y4H4XYPB.js +254 -0
- package/package.json +18 -9
- package/dist/airtable-LLZDFN7M.js +0 -789
- package/dist/anthropic-G23NN3X5.js +0 -202
- package/dist/apify-Y3SS734K.js +0 -247
- package/dist/brave_search-ZC7OAPSZ.js +0 -301
- package/dist/chunk-R6P4XAE5.js +0 -248
- package/dist/chunk-U7B6DS2O.js +0 -977
- package/dist/chunk-UZM2RXZH.js +0 -23436
- package/dist/circleci-3BAX5FCG.js +0 -388
- package/dist/clerk-6LEM6TNU.js +0 -1019
- package/dist/cloudflare_dns-KINYTJUD.js +0 -588
- package/dist/cohere-XCJ5AJ6B.js +0 -185
- package/dist/deepseek-PC5YGNC5.js +0 -209
- package/dist/docker_hub-C3MA5FU6.js +0 -932
- package/dist/dropbox-XBV7Z2IR.js +0 -1304
- package/dist/dub-LDOFG3HC.js +0 -679
- package/dist/e2b-JMCPSVBW.js +0 -277
- package/dist/exa-RAK7O7RD.js +0 -331
- package/dist/figma-E6IX5DTH.js +0 -773
- package/dist/firehydrant-ZBLPQREE.js +0 -562
- package/dist/fly-ZH3HFCZJ.js +0 -468
- package/dist/geocodio-YGNI7DA4.js +0 -212
- package/dist/ghost-EVSGKH2Q.js +0 -337
- package/dist/github-MA2BGRCJ.js +0 -5420
- package/dist/gmail-E5E6AADE.js +0 -1886
- package/dist/googlecalendar-BTLFPXTD.js +0 -2523
- package/dist/graphhopper-WSMB3TCD.js +0 -324
- package/dist/ipgeolocation_io-AA7HAS22.js +0 -315
- package/dist/ipqualityscore-BHJXVTJT.js +0 -277
- package/dist/langsmith-5W6SCT6F.js +0 -592
- package/dist/lemlist-HJWH6UMK.js +0 -288
- package/dist/logsnag-4KFOHL37.js +0 -150
- package/dist/mem0-CAW43CIC.js +0 -543
- package/dist/memos-TWEGPKFM.js +0 -740
- package/dist/mistral_ai-64BGZQHP.js +0 -1195
- package/dist/ngrok-GQCUGZKJ.js +0 -356
- package/dist/notion-DQWZWP4N.js +0 -936
- package/dist/open_exchange_rates-QMMD735E.js +0 -214
- package/dist/openai-W6PX32NZ.js +0 -799
- package/dist/opengraph_io-HNDBXYNW.js +0 -361
- package/dist/openrouter-JJYMEAUL.js +0 -437
- package/dist/outline-MCBNQZYY.js +0 -595
- package/dist/paddle-D2SKLUDN.js +0 -453
- package/dist/perplexity-XIFMKUAE.js +0 -219
- package/dist/pinecone-HUFTALV2.js +0 -570
- package/dist/polar-TYTOMOSR.js +0 -394
- package/dist/posthog-43JAR3VW.js +0 -3463
- package/dist/postmark-KL2QJYSG.js +0 -426
- package/dist/readwise-CI4GIMMJ.js +0 -469
- package/dist/render-SUBJ6YRZ.js +0 -460
- package/dist/rootly-CD2LJHPI.js +0 -336
- package/dist/semantic_scholar-T4A252KW.js +0 -610
- package/dist/shopify-Y2HN2MCQ.js +0 -609
- package/dist/stripe-VE3CD3AY.js +0 -584
- package/dist/tavily-KCZHK6HE.js +0 -326
- package/dist/telegram-3URFBCMY.js +0 -1766
- package/dist/todoist-HNPWNYTD.js +0 -663
- package/dist/trello-3W2MIXRP.js +0 -1079
- package/dist/turso-2EQF7C2Z.js +0 -415
- package/dist/umami-5REN7TGP.js +0 -388
- package/dist/unsplash-EIXL424F.js +0 -350
- package/dist/uptimerobot-KNJ3EYLY.js +0 -482
- package/dist/v2ex-RHJ234PZ.js +0 -666
- package/dist/vercel-AS6NCIC7.js +0 -1075
- package/dist/wordpress-KNDAAUV7.js +0 -811
- package/dist/workos-R6UITSJ7.js +0 -663
- package/dist/zhihu-AGK4HILK.js +0 -253
package/dist/main.js
CHANGED
|
@@ -1,290 +1,67 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
createManagedServer
|
|
4
|
+
} from "./chunk-RMAWSG7E.js";
|
|
5
|
+
import "./chunk-U7PTOA3U.js";
|
|
6
|
+
import {
|
|
7
|
+
package_default
|
|
8
|
+
} from "./chunk-2IAI3XQM.js";
|
|
9
|
+
import "./chunk-7ISGFRC6.js";
|
|
10
|
+
import "./chunk-UY6ANCOY.js";
|
|
11
|
+
import "./chunk-HA4BGL6C.js";
|
|
9
12
|
import "./chunk-U67V476Y.js";
|
|
10
13
|
|
|
11
|
-
// ../plugins/src/registry.generated.ts
|
|
12
|
-
var BUILTIN_PLUGIN_LOADERS = {
|
|
13
|
-
airtable: () => import("./airtable-LLZDFN7M.js"),
|
|
14
|
-
alt_text_generator_ai: () => import("./alt_text_generator_ai-W7O34SNG.js"),
|
|
15
|
-
amap: () => import("./amap-VOX4T2AW.js"),
|
|
16
|
-
anthropic: () => import("./anthropic-G23NN3X5.js"),
|
|
17
|
-
apify: () => import("./apify-Y3SS734K.js"),
|
|
18
|
-
brave_search: () => import("./brave_search-ZC7OAPSZ.js"),
|
|
19
|
-
circleci: () => import("./circleci-3BAX5FCG.js"),
|
|
20
|
-
clerk: () => import("./clerk-6LEM6TNU.js"),
|
|
21
|
-
cloudflare_dns: () => import("./cloudflare_dns-KINYTJUD.js"),
|
|
22
|
-
cohere: () => import("./cohere-XCJ5AJ6B.js"),
|
|
23
|
-
confluence: () => import("./confluence-B3EWPZVE.js"),
|
|
24
|
-
convertapi: () => import("./convertapi-EUWSQYPF.js"),
|
|
25
|
-
currencyapi: () => import("./currencyapi-KVTIK3GL.js"),
|
|
26
|
-
deepseek: () => import("./deepseek-PC5YGNC5.js"),
|
|
27
|
-
docker_hub: () => import("./docker_hub-C3MA5FU6.js"),
|
|
28
|
-
dropbox: () => import("./dropbox-XBV7Z2IR.js"),
|
|
29
|
-
dub: () => import("./dub-LDOFG3HC.js"),
|
|
30
|
-
e2b: () => import("./e2b-JMCPSVBW.js"),
|
|
31
|
-
exa: () => import("./exa-RAK7O7RD.js"),
|
|
32
|
-
fal_ai: () => import("./fal_ai-23E7JPNT.js"),
|
|
33
|
-
feishu: () => import("./feishu-7QRIDUV6.js"),
|
|
34
|
-
feishu_custom_bot: () => import("./feishu_custom_bot-TJ4K7QNJ.js"),
|
|
35
|
-
figma: () => import("./figma-E6IX5DTH.js"),
|
|
36
|
-
firehydrant: () => import("./firehydrant-ZBLPQREE.js"),
|
|
37
|
-
fixer: () => import("./fixer-BWON27UO.js"),
|
|
38
|
-
fly: () => import("./fly-ZH3HFCZJ.js"),
|
|
39
|
-
front: () => import("./front-QCGXYEDJ.js"),
|
|
40
|
-
geocodio: () => import("./geocodio-YGNI7DA4.js"),
|
|
41
|
-
ghost: () => import("./ghost-EVSGKH2Q.js"),
|
|
42
|
-
github: () => import("./github-MA2BGRCJ.js"),
|
|
43
|
-
gmail: () => import("./gmail-E5E6AADE.js"),
|
|
44
|
-
googlecalendar: () => import("./googlecalendar-BTLFPXTD.js"),
|
|
45
|
-
googledocs: () => import("./googledocs-BUHL4J2H.js"),
|
|
46
|
-
grafana: () => import("./grafana-GLU2DWF2.js"),
|
|
47
|
-
graphhopper: () => import("./graphhopper-WSMB3TCD.js"),
|
|
48
|
-
ip2proxy: () => import("./ip2proxy-EZ64Y4ZH.js"),
|
|
49
|
-
ipgeolocation_io: () => import("./ipgeolocation_io-AA7HAS22.js"),
|
|
50
|
-
ipqualityscore: () => import("./ipqualityscore-BHJXVTJT.js"),
|
|
51
|
-
jina_ai: () => import("./jina_ai-EFBHTBXL.js"),
|
|
52
|
-
jira: () => import("./jira-HQSHAA5K.js"),
|
|
53
|
-
langsmith: () => import("./langsmith-5W6SCT6F.js"),
|
|
54
|
-
lemlist: () => import("./lemlist-HJWH6UMK.js"),
|
|
55
|
-
linear: () => import("./linear-K7RYFYAD.js"),
|
|
56
|
-
logsnag: () => import("./logsnag-4KFOHL37.js"),
|
|
57
|
-
mattermost: () => import("./mattermost-S2BRCWLQ.js"),
|
|
58
|
-
mem0: () => import("./mem0-CAW43CIC.js"),
|
|
59
|
-
memos: () => import("./memos-TWEGPKFM.js"),
|
|
60
|
-
metabase: () => import("./metabase-MMSEPCOF.js"),
|
|
61
|
-
mistral_ai: () => import("./mistral_ai-64BGZQHP.js"),
|
|
62
|
-
mother_duck: () => import("./mother_duck-H7PCQNZ2.js"),
|
|
63
|
-
ngrok: () => import("./ngrok-GQCUGZKJ.js"),
|
|
64
|
-
notes: () => import("./notes-PFMKRO33.js"),
|
|
65
|
-
notion: () => import("./notion-DQWZWP4N.js"),
|
|
66
|
-
open_exchange_rates: () => import("./open_exchange_rates-QMMD735E.js"),
|
|
67
|
-
openai: () => import("./openai-W6PX32NZ.js"),
|
|
68
|
-
opengraph_io: () => import("./opengraph_io-HNDBXYNW.js"),
|
|
69
|
-
openrouter: () => import("./openrouter-JJYMEAUL.js"),
|
|
70
|
-
outline: () => import("./outline-MCBNQZYY.js"),
|
|
71
|
-
paddle: () => import("./paddle-D2SKLUDN.js"),
|
|
72
|
-
perplexity: () => import("./perplexity-XIFMKUAE.js"),
|
|
73
|
-
pinecone: () => import("./pinecone-HUFTALV2.js"),
|
|
74
|
-
pipedrive: () => import("./pipedrive-Y2O7QGFF.js"),
|
|
75
|
-
polar: () => import("./polar-TYTOMOSR.js"),
|
|
76
|
-
posthog: () => import("./posthog-43JAR3VW.js"),
|
|
77
|
-
postmark: () => import("./postmark-KL2QJYSG.js"),
|
|
78
|
-
prerender: () => import("./prerender-MENYM2TY.js"),
|
|
79
|
-
pubmed: () => import("./pubmed-GOXUVVH5.js"),
|
|
80
|
-
railway: () => import("./railway-V2SID4WV.js"),
|
|
81
|
-
readwise: () => import("./readwise-CI4GIMMJ.js"),
|
|
82
|
-
render: () => import("./render-SUBJ6YRZ.js"),
|
|
83
|
-
replicate: () => import("./replicate-756MXPYX.js"),
|
|
84
|
-
resend: () => import("./resend-ZKH3BTBI.js"),
|
|
85
|
-
rootly: () => import("./rootly-CD2LJHPI.js"),
|
|
86
|
-
scrapfly: () => import("./scrapfly-NSRHFDIQ.js"),
|
|
87
|
-
scrapingbee: () => import("./scrapingbee-OQHLAVEY.js"),
|
|
88
|
-
screenshot_fyi: () => import("./screenshot_fyi-DVWG3AXC.js"),
|
|
89
|
-
semantic_scholar: () => import("./semantic_scholar-T4A252KW.js"),
|
|
90
|
-
sentry: () => import("./sentry-546MNDJG.js"),
|
|
91
|
-
shodan: () => import("./shodan-C3OON3Z3.js"),
|
|
92
|
-
shopify: () => import("./shopify-Y2HN2MCQ.js"),
|
|
93
|
-
stripe: () => import("./stripe-VE3CD3AY.js"),
|
|
94
|
-
supabase: () => import("./supabase-U2SL4D63.js"),
|
|
95
|
-
tavily: () => import("./tavily-KCZHK6HE.js"),
|
|
96
|
-
telegram: () => import("./telegram-3URFBCMY.js"),
|
|
97
|
-
telnyx: () => import("./telnyx-CXQ4EZUX.js"),
|
|
98
|
-
todoist: () => import("./todoist-HNPWNYTD.js"),
|
|
99
|
-
trello: () => import("./trello-3W2MIXRP.js"),
|
|
100
|
-
turso: () => import("./turso-2EQF7C2Z.js"),
|
|
101
|
-
twilio: () => import("./twilio-4PDBJKWX.js"),
|
|
102
|
-
umami: () => import("./umami-5REN7TGP.js"),
|
|
103
|
-
unsplash: () => import("./unsplash-EIXL424F.js"),
|
|
104
|
-
upstash_redis: () => import("./upstash_redis-G4LQBYHA.js"),
|
|
105
|
-
uptimerobot: () => import("./uptimerobot-KNJ3EYLY.js"),
|
|
106
|
-
v2ex: () => import("./v2ex-RHJ234PZ.js"),
|
|
107
|
-
vercel: () => import("./vercel-AS6NCIC7.js"),
|
|
108
|
-
wolfram_alpha_api: () => import("./wolfram_alpha_api-3G4PUJWB.js"),
|
|
109
|
-
wordpress: () => import("./wordpress-KNDAAUV7.js"),
|
|
110
|
-
workos: () => import("./workos-R6UITSJ7.js"),
|
|
111
|
-
zhihu: () => import("./zhihu-AGK4HILK.js")
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
// ../plugins/src/catalog.generated.ts
|
|
115
|
-
var BUILTIN_CATALOG = {
|
|
116
|
-
"airtable": { "id": "airtable", "kind": "builtin", "endpoint": "binding:airtable", "digest": "3b265733401d838278c60a4e0863bab72308f422c77179a6a0021a37bad937b4", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_bases", "description": "Airtable", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
117
|
-
"alt_text_generator_ai": { "id": "alt_text_generator_ai", "kind": "builtin", "endpoint": "binding:alt_text_generator_ai", "digest": "8a5729befa9c41311e76d792c011f895dbdfe3147e8aca5ce14d28f99c667dcf", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Alt Text Generator AI", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
118
|
-
"amap": { "id": "amap", "kind": "builtin", "endpoint": "binding:amap", "digest": "969f51fc792c12eaa139214aa137c032ffea3ec101e70559349525d27c55abf2", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "AMap (\u9AD8\u5FB7\u5730\u56FE)", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
119
|
-
"anthropic": { "id": "anthropic", "kind": "builtin", "endpoint": "binding:anthropic", "digest": "d21d35b89dab5a7785ec828f94aa1c22e1f3079079adbac4cdd13a8251defe46", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_models", "description": "Anthropic", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
120
|
-
"apify": { "id": "apify", "kind": "builtin", "endpoint": "binding:apify", "digest": "5b445bd762af7faad4b00ae119997d2c15ae4fa054d1c9f8c5a3af3f691d308d", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_user", "description": "Apify", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
121
|
-
"brave_search": { "id": "brave_search", "kind": "builtin", "endpoint": "binding:brave_search", "digest": "a522db46c6b1064b95fa7d0d7b72e2d663453bdc62772003a28c9158ee4f7977", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Brave Search", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
122
|
-
"circleci": { "id": "circleci", "kind": "builtin", "endpoint": "binding:circleci", "digest": "e94e41cd9aa088eb5d932e1f121a559d2c7583c0b74d357fec5e2206408fdfe6", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_user", "description": "CircleCI", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
123
|
-
"clerk": { "id": "clerk", "kind": "builtin", "endpoint": "binding:clerk", "digest": "40084bbd7dbbcdee438fd29109809340d8b2291ff1887e7152675cb5bceb4392", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "count_users", "description": "Clerk", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
124
|
-
"cloudflare_dns": { "id": "cloudflare_dns", "kind": "builtin", "endpoint": "binding:cloudflare_dns", "digest": "f4f8d06d489a25913341ec378d3531698faf61809c8720c7efcfe6e238355a31", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_zones", "description": "Cloudflare DNS", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
125
|
-
"cohere": { "id": "cohere", "kind": "builtin", "endpoint": "binding:cohere", "digest": "701fa1f5fae84105ce9cbbe58c060e017f3720a215da3900de0ab5be867d214c", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Cohere", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
126
|
-
"confluence": { "id": "confluence", "kind": "builtin", "endpoint": "binding:confluence", "digest": "6841794f6d3632b5b7ab969ccfb627e583e53f0f4efcc9dadb1940e4880b2b17", "describe": { "exports": [{ "credentialFields": [{ "description": "Atlassian API token,\u5F53 Basic \u8BA4\u8BC1\u7684\u5BC6\u7801;\u5728 https://id.atlassian.com/manage-profile/security/api-tokens \u521B\u5EFA", "key": "apiKey", "label": "API Token", "required": true, "secret": true }, { "description": "Atlassian \u8D26\u53F7\u90AE\u7BB1,\u5F53 Basic \u8BA4\u8BC1\u7684\u7528\u6237\u540D", "key": "email", "label": "Atlassian Email", "required": true, "secret": false }, { "description": "Confluence Cloud \u7AD9\u70B9\u5730\u5740(https://<site>.atlassian.net);\u53EA\u63A5\u53D7 https \u7684 atlassian.net \u7AD9\u70B9", "key": "siteUrl", "label": "Confluence Site URL", "required": true, "secret": false }], "credentialProbe": "list_spaces", "description": "Confluence", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
127
|
-
"convertapi": { "id": "convertapi", "kind": "builtin", "endpoint": "binding:convertapi", "digest": "99800537444dbf85a3179a92e5fcd1ee78b512897d13c93c9e30384b21acccbd", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "ConvertAPI", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
128
|
-
"currencyapi": { "id": "currencyapi", "kind": "builtin", "endpoint": "binding:currencyapi", "digest": "34ee6542f2f9913484379882037f97790ebe166be905ebd3569956ea35ecb2b7", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_api_status", "description": "currencyapi", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
129
|
-
"deepseek": { "id": "deepseek", "kind": "builtin", "endpoint": "binding:deepseek", "digest": "0f89091072621d589a3ead1c9370ad741283b7e15c91ed427611a27071118cae", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_models", "description": "DeepSeek", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
130
|
-
"docker_hub": { "id": "docker_hub", "kind": "builtin", "endpoint": "binding:docker_hub", "digest": "2b16be828ca8564b89ac9812fdc0e39695b4ab8bfd21cf83049f88afd6203039", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Docker Hub", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
131
|
-
"dropbox": { "id": "dropbox", "kind": "builtin", "endpoint": "binding:dropbox", "digest": "72dd800cc8b896ed8b5c8f006aa6eeac1f7dd174f825a082718c5da3a6bf55fc", "describe": { "exports": [{ "description": "Dropbox", "id": "actions", "oauth": { "authorizationParams": { "token_access_type": "offline" }, "authorizationUrl": "https://www.dropbox.com/oauth2/authorize", "clientAuth": "client_secret_post", "scopes": ["account_info.read", "files.metadata.read", "files.content.read", "files.content.write", "sharing.read", "sharing.write"], "tokenUrl": "https://api.dropboxapi.com/oauth2/token" }, "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
132
|
-
"dub": { "id": "dub", "kind": "builtin", "endpoint": "binding:dub", "digest": "08a5916fa278b857b8c38bcfe28cc0437fe954bd45199b26e3ab1f828db3b7e3", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "count_links", "description": "Dub", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
133
|
-
"e2b": { "id": "e2b", "kind": "builtin", "endpoint": "binding:e2b", "digest": "d41b5e3349c221c290a15a1d8cb435c919000ed359bc5cf2ae99dfca5987ccb4", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_sandboxes", "description": "E2B", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
134
|
-
"exa": { "id": "exa", "kind": "builtin", "endpoint": "binding:exa", "digest": "8e0688929d7fb6510713e7ed8b01901f44f48adac4fc4326d62a9cfcaa4cad0e", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Exa", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
135
|
-
"fal_ai": { "id": "fal_ai", "kind": "builtin", "endpoint": "binding:fal_ai", "digest": "8509e5558f54a0a58fca101f15f677adc13b654b2432d0fc16d01d075c2b87c1", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_models", "description": "fal.ai", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
136
|
-
"feishu": { "id": "feishu", "kind": "builtin", "endpoint": "binding:feishu", "digest": "224a0a5487c8d19d8883d6beb4df06c1443c13803b9e9779bcceb8ecc70d25db", "describe": { "exports": [{ "credentialFields": [{ "description": "\u98DE\u4E66\u81EA\u5EFA\u5E94\u7528\u7684 app_id(\u5F00\u653E\u5E73\u53F0\u300C\u51ED\u8BC1\u4E0E\u57FA\u7840\u4FE1\u606F\u300D\u9875)", "key": "app_id", "label": "App ID", "required": true }, { "description": "\u98DE\u4E66\u81EA\u5EFA\u5E94\u7528\u7684 app_secret,\u7528\u4E8E\u6362\u53D1 tenant_access_token", "key": "app_secret", "label": "App Secret", "required": true, "secret": true }], "description": "Feishu actions (docs, wiki, messaging) via the official MCP upstream", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
137
|
-
"feishu_custom_bot": { "id": "feishu_custom_bot", "kind": "builtin", "endpoint": "binding:feishu_custom_bot", "digest": "dc3d222f176e7f818463873ddb1f7c9246f45b801cd9550bc22235c7f84fb5e8", "describe": { "exports": [{ "credentialFields": [{ "description": "\u7FA4\u673A\u5668\u4EBA\u7684 webhook \u5730\u5740(https://open.feishu.cn/open-apis/bot/v2/hook/<token>)\u6216\u5176 token", "key": "webhook", "label": "Webhook", "required": true, "secret": true }, { "description": "\u7FA4\u673A\u5668\u4EBA\u5F00\u542F\u300C\u7B7E\u540D\u6821\u9A8C\u300D\u65F6\u7684\u5BC6\u94A5;\u672A\u5F00\u542F\u5219\u7559\u7A7A", "key": "signingSecret", "label": "Signing Secret", "required": false, "secret": true }], "description": "Feishu Custom Bot", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
138
|
-
"figma": { "id": "figma", "kind": "builtin", "endpoint": "binding:figma", "digest": "9eeb11093b548485002122c444282820396abb88e538a554b2c8abc758d3c79d", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_user", "description": "Figma", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
139
|
-
"firehydrant": { "id": "firehydrant", "kind": "builtin", "endpoint": "binding:firehydrant", "digest": "72d143849f8796e3545c0cad7f399c4af824650e9a6b9df0ca1e17a12c1e2be3", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_incidents", "description": "FireHydrant", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
140
|
-
"fixer": { "id": "fixer", "kind": "builtin", "endpoint": "binding:fixer", "digest": "94a4fd282f2cf64496b9fa5eec469b37cc2584298e5f95a241f8f1abc2000a00", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_supported_symbols", "description": "Fixer", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
141
|
-
"fly": { "id": "fly", "kind": "builtin", "endpoint": "binding:fly", "digest": "30bcf0348db20dbea079c09f1d14a7eddf82d95a571fc4dc4bd475b6666a0329", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Fly.io", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
142
|
-
"front": { "id": "front", "kind": "builtin", "endpoint": "binding:front", "digest": "42d12620f0cc3d5896f49dbd51bb1226aa23b207e696b737e392acd8a06a33d2", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_teammates", "description": "Front", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
143
|
-
"geocodio": { "id": "geocodio", "kind": "builtin", "endpoint": "binding:geocodio", "digest": "0b863c1670af7bd3ca622d780ca359c09c17a73383b8b32a83b1d233a5dbf5e3", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Geocodio", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
144
|
-
"ghost": { "id": "ghost", "kind": "builtin", "endpoint": "binding:ghost", "digest": "66da97186043b03ebb1f9efd95f43c30c5b6bb3e745243ea0de5e7c457ec3f88", "describe": { "exports": [{ "credentialFields": [{ "description": "Ghost Content API key,\u4F5C\u4E3A key query \u53C2\u6570\u53D1\u9001;\u5728 Ghost Admin \u7684 Settings > Advanced > Integrations \u91CC\u521B\u5EFA\u6216\u67E5\u770B", "key": "apiKey", "label": "Content API Key", "required": true, "secret": true }, { "description": "Ghost \u7AD9\u70B9\u7684\u516C\u5F00\u5730\u5740(https://example.ghost.io),\u4E0D\u8981\u5E26 API \u8DEF\u5F84;\u5FC5\u987B\u662F\u516C\u7F51\u53EF\u8FBE\u5730\u5740,\u79C1\u6709\u7F51\u6BB5\u4F1A\u88AB\u51FA\u7AD9\u7B56\u7565\u62E6\u4E0B", "key": "siteUrl", "label": "Site URL", "required": true, "secret": false }], "credentialProbe": "read_settings", "description": "Ghost (Content API)", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
145
|
-
"github": { "id": "github", "kind": "builtin", "endpoint": "binding:github", "digest": "f8083b708876dde13851215c44142328e2a062e1221db430d784d8c343c94859", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_user", "description": "GitHub", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
146
|
-
"gmail": { "id": "gmail", "kind": "builtin", "endpoint": "binding:gmail", "digest": "214cef1630ea8689786a396c5c3b3c46b3d12c5e678e348eba4c84279e8b3aa5", "describe": { "exports": [{ "description": "Gmail", "id": "actions", "oauth": { "authorizationParams": { "access_type": "offline", "prompt": "consent" }, "authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth", "clientAuth": "client_secret_post", "scopes": ["https://www.googleapis.com/auth/gmail.readonly", "https://www.googleapis.com/auth/gmail.modify", "https://www.googleapis.com/auth/gmail.compose", "https://www.googleapis.com/auth/gmail.send", "https://www.googleapis.com/auth/gmail.labels", "https://www.googleapis.com/auth/gmail.settings.basic"], "tokenUrl": "https://oauth2.googleapis.com/token" }, "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
147
|
-
"googlecalendar": { "id": "googlecalendar", "kind": "builtin", "endpoint": "binding:googlecalendar", "digest": "b81f98cb6a856f5898414769ae362f35c2149cee41f945516516bf39df108149", "describe": { "exports": [{ "description": "Google Calendar", "id": "actions", "oauth": { "authorizationParams": { "access_type": "offline", "prompt": "consent" }, "authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth", "clientAuth": "client_secret_post", "scopes": ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly", "https://www.googleapis.com/auth/calendar.events", "https://www.googleapis.com/auth/calendar.calendars", "https://www.googleapis.com/auth/calendar.calendarlist", "https://www.googleapis.com/auth/calendar.settings.readonly", "https://www.googleapis.com/auth/calendar.acls", "https://www.googleapis.com/auth/calendar.acls.readonly"], "tokenUrl": "https://oauth2.googleapis.com/token" }, "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
148
|
-
"googledocs": { "id": "googledocs", "kind": "builtin", "endpoint": "binding:googledocs", "digest": "339e51f24366682b6d9c284c995083479f1d798e3059bef067c03582c4be515b", "describe": { "exports": [{ "description": "Google Docs", "id": "actions", "oauth": { "authorizationParams": { "access_type": "offline", "prompt": "consent" }, "authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth", "clientAuth": "client_secret_post", "scopes": ["https://www.googleapis.com/auth/documents.readonly", "https://www.googleapis.com/auth/documents", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/spreadsheets.readonly"], "tokenUrl": "https://oauth2.googleapis.com/token" }, "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
149
|
-
"grafana": { "id": "grafana", "kind": "builtin", "endpoint": "binding:grafana", "digest": "5d72cdcc14e570b96aafc8c9c8cd86ab6884fc3b35c97086233e9a7762f7fb7b", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "search_dashboards", "description": "Grafana", "id": "actions", "mountConfigFields": [{ "description": "Grafana \u5B9E\u4F8B\u6839\u5730\u5740(Cloud \u6216\u81EA\u5EFA),\u5982 https://x.grafana.net", "key": "baseUrl", "label": "\u5B9E\u4F8B\u5730\u5740", "required": true }], "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
150
|
-
"graphhopper": { "id": "graphhopper", "kind": "builtin", "endpoint": "binding:graphhopper", "digest": "c5ce9dfe18ae83eb526e00719409e33c545cf40a18621b512c57b7d2b5b737a2", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_profiles", "description": "GraphHopper", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
151
|
-
"ip2proxy": { "id": "ip2proxy", "kind": "builtin", "endpoint": "binding:ip2proxy", "digest": "1f48a0ce4fe542f8ec9f82c5e0ad78c1dc3a3f3c60c43f8b34f4a670ce39e0f4", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "IP2Proxy", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
152
|
-
"ipgeolocation_io": { "id": "ipgeolocation_io", "kind": "builtin", "endpoint": "binding:ipgeolocation_io", "digest": "d272dbde54771d318139773a66b2549430b707a4e8fd3f808494faf174074946", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_timezone", "description": "IPGeolocation.io", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
153
|
-
"ipqualityscore": { "id": "ipqualityscore", "kind": "builtin", "endpoint": "binding:ipqualityscore", "digest": "55c8fedb364a96a7d2b46b4a46f454fe4c846cdca8c02e2917fb5c0fe15e5ca5", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "IPQualityScore", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
154
|
-
"jina_ai": { "id": "jina_ai", "kind": "builtin", "endpoint": "binding:jina_ai", "digest": "7c13a5f2c17b07ce9755b12620799ff388a7ffb5bbdd2a54a19f5dbc28258745", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Jina AI", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
155
|
-
"jira": { "id": "jira", "kind": "builtin", "endpoint": "binding:jira", "digest": "6f47c22d5ec5746bad0ea75b2e3782c69955654410045d7fd6bbc3bfb102f377", "describe": { "exports": [{ "credentialFields": [{ "description": "Jira Data Center / Server \u5B9E\u4F8B\u7684\u6839\u5730\u5740(https://jira.example.com,\u5E26\u90E8\u7F72\u4E0A\u4E0B\u6587\u8DEF\u5F84\u4E5F\u53EF\u4EE5),\u4E0D\u8981\u5E26 API \u8DEF\u5F84;\u5FC5\u987B\u662F\u516C\u7F51\u53EF\u8FBE\u5730\u5740,\u79C1\u6709\u7F51\u6BB5\u4F1A\u88AB\u51FA\u7AD9\u7B56\u7565\u62E6\u4E0B", "key": "baseUrl", "label": "Instance URL", "required": true, "secret": false }, { "description": "Jira Data Center / Server \u7684\u4E2A\u4EBA\u8BBF\u95EE\u4EE4\u724C,\u4EE5 Bearer \u53D1\u9001", "key": "personalAccessToken", "label": "Personal access token", "required": true, "secret": true }], "credentialProbe": "list_projects", "description": "Jira (Data Center / Server)", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
156
|
-
"langsmith": { "id": "langsmith", "kind": "builtin", "endpoint": "binding:langsmith", "digest": "a712ad2bca06d56d7ce69c122f04b92047b207df354505078c28815e2a858748", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_workspaces", "description": "LangSmith", "id": "actions", "mountConfigFields": [{ "description": "us\u3001eu\u3001apac \u6216 aws_us \u4E4B\u4E00;\u7559\u7A7A\u7528 us", "key": "region", "label": "\u533A\u57DF" }, { "description": "\u9650\u5B9A\u5230\u67D0\u4E2A workspace;\u7559\u7A7A\u7528\u51ED\u8BC1\u7684\u9ED8\u8BA4 workspace", "key": "workspaceId", "label": "Workspace ID" }], "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
157
|
-
"lemlist": { "id": "lemlist", "kind": "builtin", "endpoint": "binding:lemlist", "digest": "b7f5097942974316156aba2b5df7e97c47e7445be3edaa4ae5d244cdb2f6a210", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_team", "description": "lemlist", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
158
|
-
"linear": { "id": "linear", "kind": "builtin", "endpoint": "binding:linear", "digest": "beefa8236021f27980c503d7bd14b55c9177a6fc0ea4aaed8d901bf80b53dd49", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_user", "description": "Linear", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
159
|
-
"logsnag": { "id": "logsnag", "kind": "builtin", "endpoint": "binding:logsnag", "digest": "94c93ac0361f98f94b4a399f7731a64687377cf7b0996765d33e8132e4949863", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "LogSnag", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
160
|
-
"mattermost": { "id": "mattermost", "kind": "builtin", "endpoint": "binding:mattermost", "digest": "9dd2d1f677f4be7effa67da9c6714a1c3738d831325b10de40c6eb117ec385c1", "describe": { "exports": [{ "credentialFields": [{ "description": "Mattermost \u4E2A\u4EBA\u8BBF\u95EE\u4EE4\u724C,\u4EE5 Bearer \u53D1\u9001;\u5728\u8D26\u53F7\u8BBE\u7F6E\u7684 Security \u2192 Personal Access Tokens \u91CC\u521B\u5EFA", "key": "apiKey", "label": "Personal access token", "required": true, "secret": true }, { "description": "Mattermost \u5B9E\u4F8B\u7684\u6839\u5730\u5740(https://mattermost.example.com,\u5E26 /api/v4 \u540E\u7F00\u4E5F\u80FD\u8BC6\u522B);\u5FC5\u987B\u662F https \u7684\u516C\u7F51\u53EF\u8FBE\u5730\u5740,\u79C1\u6709\u7F51\u6BB5\u4F1A\u88AB\u51FA\u7AD9\u7B56\u7565\u62E6\u4E0B", "key": "instanceUrl", "label": "Instance URL", "required": true, "secret": false }], "credentialProbe": "get_current_user", "description": "Mattermost", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
161
|
-
"mem0": { "id": "mem0", "kind": "builtin", "endpoint": "binding:mem0", "digest": "002acac1a89227ae1a2c55efa37166993dc612d9708984d69731b0ab74e23f29", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_events", "description": "Mem0", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
162
|
-
"memos": { "id": "memos", "kind": "builtin", "endpoint": "binding:memos", "digest": "04d2f63d0845548c40da44fdcdd65584b27fcd6867e61dca3196c6f929cfe985", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_user", "description": "Memos", "id": "actions", "mountConfigFields": [{ "description": "\u4F60\u7684 Memos \u5B9E\u4F8B\u5730\u5740,\u5982 https://memos.example.com", "key": "baseUrl", "label": "\u5B9E\u4F8B\u5730\u5740", "required": true }], "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
163
|
-
"metabase": { "id": "metabase", "kind": "builtin", "endpoint": "binding:metabase", "digest": "a430bf949686c10cd8fd2f18bea9936c422ea9217570d9aef37c78cfe193b151", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_user", "description": "Metabase", "id": "actions", "mountConfigFields": [{ "description": "\u4F60\u7684 Metabase \u5B9E\u4F8B\u5730\u5740,\u5982 https://x.metabaseapp.com", "key": "instanceUrl", "label": "\u5B9E\u4F8B\u5730\u5740", "required": true }], "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
164
|
-
"mistral_ai": { "id": "mistral_ai", "kind": "builtin", "endpoint": "binding:mistral_ai", "digest": "46ca7e0ed09de8b7c80730ff78a7ffbf624a2337bf661ec753638667030990b6", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_models", "description": "Mistral AI", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
165
|
-
"mother_duck": { "id": "mother_duck", "kind": "builtin", "endpoint": "binding:mother_duck", "digest": "425d1a138d8862726e8fe7bff98bea5f7207000848425bfe95c664a1dbb1b1f7", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_active_accounts", "description": "MotherDuck", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
166
|
-
"ngrok": { "id": "ngrok", "kind": "builtin", "endpoint": "binding:ngrok", "digest": "7feebecdc804652788668f3481923a684c458704488790ef1937c3dbd1081b99", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_endpoints", "description": "ngrok", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
167
|
-
"notes": { "id": "notes", "kind": "builtin", "endpoint": "binding:notes", "digest": "be320be526e0d038b7e692f555867d5e6d96470063d82b0a683d679dbb2ad568", "describe": { "exports": [{ "auth": { "kind": "none" }, "description": "\u8BB0\u4E8B\u672C\u52A8\u4F5C", "id": "actions", "mountConfigFields": [{ "description": "\u4E24\u4E2A export \u4F7F\u7528\u76F8\u540C\u503C\u5373\u53EF\u5171\u4EAB\u7B14\u8BB0;\u4E0D\u540C\u503C\u5F7C\u6B64\u9694\u79BB", "key": "workspace", "label": "Workspace" }], "profile": "tools/v1" }, { "auth": { "kind": "none" }, "capabilities": ["search"], "description": "\u7B14\u8BB0\u5185\u5BB9\u9762(append-only:\u53EF\u8BFB\u53EF\u5199,\u4E0D\u53EF\u6539\u4E0D\u53EF\u5220)", "id": "notes", "methods": ["list", "get", "write", "search"], "mountConfigFields": [{ "description": "\u4E24\u4E2A export \u4F7F\u7528\u76F8\u540C\u503C\u5373\u53EF\u5171\u4EAB\u7B14\u8BB0;\u4E0D\u540C\u503C\u5F7C\u6B64\u9694\u79BB", "key": "workspace", "label": "Workspace" }], "profile": "context/v1" }], "protocolVersion": "plugin/v2" } },
|
|
168
|
-
"notion": { "id": "notion", "kind": "builtin", "endpoint": "binding:notion", "digest": "cd17bcce1c85bcd82fe0b0b5567cb7db5e2ed85fca3d6832c934b553816d95dd", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Notion", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
169
|
-
"open_exchange_rates": { "id": "open_exchange_rates", "kind": "builtin", "endpoint": "binding:open_exchange_rates", "digest": "e3d43586c8bc8ec542cd6cb5db4c686d0d6ea5a94c5ccfe6b9060f174c8ce14c", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_latest_rates", "description": "Open Exchange Rates", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
170
|
-
"openai": { "id": "openai", "kind": "builtin", "endpoint": "binding:openai", "digest": "64b67925c50ce76e7f8068d4fa3fe6879100fb275e0904e2bf86191a6d2bc6ab", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_models", "description": "OpenAI", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
171
|
-
"opengraph_io": { "id": "opengraph_io", "kind": "builtin", "endpoint": "binding:opengraph_io", "digest": "4a2a690bd79d2e6beed8854b8186ee88a26915591eeb4ae0894943a4b40e9f68", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "OpenGraph.io", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
172
|
-
"openrouter": { "id": "openrouter", "kind": "builtin", "endpoint": "binding:openrouter", "digest": "46482b2b2e3151de3e4046b2c7e339e11d0b214c1ad4639c336fd89cd069c787", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_key", "description": "OpenRouter", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
173
|
-
"outline": { "id": "outline", "kind": "builtin", "endpoint": "binding:outline", "digest": "3177e132b0e170f8247dfc9cd00cc4d6796677ef6a5f2e7a401917c7c3e5731c", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_collections", "description": "Outline", "id": "actions", "mountConfigFields": [{ "description": "\u81EA\u5EFA Outline \u7684\u6839\u5730\u5740;\u7559\u7A7A\u7528\u4E91\u7AEF app.getoutline.com", "key": "baseUrl", "label": "\u5B9E\u4F8B\u5730\u5740" }], "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
174
|
-
"paddle": { "id": "paddle", "kind": "builtin", "endpoint": "binding:paddle", "digest": "4901c5455baec856f10e193915847cb9b23318024315ecf22eba213b53838b37", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_products", "description": "Paddle", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
175
|
-
"perplexity": { "id": "perplexity", "kind": "builtin", "endpoint": "binding:perplexity", "digest": "39c8b91c09a1d1ce5d11312d50679cd5cac6bd149fb1bc72f1b4cad286907fd0", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_models", "description": "Perplexity", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
176
|
-
"pinecone": { "id": "pinecone", "kind": "builtin", "endpoint": "binding:pinecone", "digest": "fa669ef8b8e8a65ab9b1fdc46c2a3ea22f8c20a04f06a9f8cebd0b40c37ba359", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_indexes", "description": "Pinecone", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
177
|
-
"pipedrive": { "id": "pipedrive", "kind": "builtin", "endpoint": "binding:pipedrive", "digest": "6d75a172c459b656e8b2fd3d40ccfbeb50f9a334fbd7d69b587d43268a74e182", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_pipelines", "description": "Pipedrive", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
178
|
-
"polar": { "id": "polar", "kind": "builtin", "endpoint": "binding:polar", "digest": "523b6a7b57b5f31e9f69541165cad09a22d3faaf35ab1a51d259430d9b2bb3f4", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_organizations", "description": "Polar", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
179
|
-
"posthog": { "id": "posthog", "kind": "builtin", "endpoint": "binding:posthog", "digest": "1c4d4352ea7041cfced6f2fbc6e11685df852a7e71ba0dc5ae2cb0dae058d730", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_user", "description": "PostHog", "id": "actions", "mountConfigFields": [{ "description": "\u4F8B\u5982 https://us.posthog.com\u3001https://eu.posthog.com \u6216\u81EA\u6258\u7BA1\u5730\u5740", "key": "baseUrl", "label": "PostHog API URL", "required": true }, { "description": "\u53EF\u9009;\u9700\u8981\u6309\u7EC4\u7EC7\u8303\u56F4\u8C03\u7528\u7684\u63A5\u53E3\u4F1A\u4F7F\u7528\u5B83", "key": "organizationId", "label": "Organization ID" }], "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
180
|
-
"postmark": { "id": "postmark", "kind": "builtin", "endpoint": "binding:postmark", "digest": "60968dfacee48617dbc8d5a37defe656740e1daf0deb4ec077df59e94debdd30", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_server", "description": "Postmark", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
181
|
-
"prerender": { "id": "prerender", "kind": "builtin", "endpoint": "binding:prerender", "digest": "02030ef9e35b7bb60f109a19a342c3e911dd5f344157edece1f66472f0c4827f", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_cache_clear_status", "description": "Prerender", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
182
|
-
"pubmed": { "id": "pubmed", "kind": "builtin", "endpoint": "binding:pubmed", "digest": "e69d69e32522d832864a97d1f3e80de69a1218d7c2f1e8ad694cb0c971bfbc50", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "PubMed", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
183
|
-
"railway": { "id": "railway", "kind": "builtin", "endpoint": "binding:railway", "digest": "50a711842134ab3fd835fd0ba38dc3d92f47f269e39e677737b5c3f32dd60921", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_projects", "description": "Railway", "id": "actions", "mountConfigFields": [{ "description": "\u9650\u5B9A list_projects \u7684\u5DE5\u4F5C\u533A;\u7559\u7A7A\u7528\u8D26\u6237\u9ED8\u8BA4", "key": "workspaceId", "label": "Workspace ID" }], "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
184
|
-
"readwise": { "id": "readwise", "kind": "builtin", "endpoint": "binding:readwise", "digest": "38f4c5124adfea92234848dc7a3bc7603d638ba390bd1a8468f9af666198814b", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_books", "description": "Readwise", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
185
|
-
"render": { "id": "render", "kind": "builtin", "endpoint": "binding:render", "digest": "dd22e7000b5641de2d51671dcf80711a6c8f1c34a8e2d4bb5e97813d2410ec7a", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_user", "description": "Render", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
186
|
-
"replicate": { "id": "replicate", "kind": "builtin", "endpoint": "binding:replicate", "digest": "8b56305da24dec728896ff2d4d47f4c53d62744df5c2f14be3cb15acb0aaf2a2", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_account", "description": "Replicate", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
187
|
-
"resend": { "id": "resend", "kind": "builtin", "endpoint": "binding:resend", "digest": "556353884901f6b00b7f204fe9b154ee4746ed4580aecd183e5b47c6146946f6", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Resend", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
188
|
-
"rootly": { "id": "rootly", "kind": "builtin", "endpoint": "binding:rootly", "digest": "26dcc13f5c42f028afad92032998a89a6fc8ba10637daa21271266a4754ec4e8", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_user", "description": "Rootly", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
189
|
-
"scrapfly": { "id": "scrapfly", "kind": "builtin", "endpoint": "binding:scrapfly", "digest": "ae7d9dd572ea667ad13ae77b3e85fc7ad38fdaa87bb4ad271c5d119d68607855", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Scrapfly", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
190
|
-
"scrapingbee": { "id": "scrapingbee", "kind": "builtin", "endpoint": "binding:scrapingbee", "digest": "3c30eeb37f120b74aae7b3eb06feb5b72ec1dc0cd161b9bc0cdc86e1b1190a23", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_usage_stats", "description": "ScrapingBee", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
191
|
-
"screenshot_fyi": { "id": "screenshot_fyi", "kind": "builtin", "endpoint": "binding:screenshot_fyi", "digest": "b48d690b4e7d09e3abf0500022c59376763a6edefb7964b01e3e490219a6e766", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "screenshot.fyi", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
192
|
-
"semantic_scholar": { "id": "semantic_scholar", "kind": "builtin", "endpoint": "binding:semantic_scholar", "digest": "758366c1355c4f2332c4de598f403fa3d95753c5648070c96b8452c3c1640bbe", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Semantic Scholar", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
193
|
-
"sentry": { "id": "sentry", "kind": "builtin", "endpoint": "binding:sentry", "digest": "823829cd31fe447ac0f69939034775177988290484541fb19412190adabacf0d", "describe": { "exports": [{ "description": "Sentry", "id": "actions", "oauth": { "authorizationUrl": "https://sentry.io/oauth/authorize/", "scopes": ["org:read", "project:read", "project:releases", "event:read", "event:write"], "tokenUrl": "https://sentry.io/oauth/token/" }, "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
194
|
-
"shodan": { "id": "shodan", "kind": "builtin", "endpoint": "binding:shodan", "digest": "759337674d05ce10b981975afc09968c1afbbca46c8a39e3b6a13231d70d7f36", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_api_info", "description": "Shodan", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
195
|
-
"shopify": { "id": "shopify", "kind": "builtin", "endpoint": "binding:shopify", "digest": "0aa27eb0883dcef053bfc7531bb06da3dc7836c90fa986b8ca5639ff9941d5b4", "describe": { "exports": [{ "credentialFields": [{ "description": "Shopify Admin API access token(shpat_...),\u8D70 X-Shopify-Access-Token \u5934;\u5728\u81EA\u5EFA\u5E94\u7528\u7684 API \u51ED\u636E\u9875\u83B7\u53D6", "key": "apiKey", "label": "Admin API access token", "required": true, "secret": true }, { "description": "\u5E97\u94FA\u7684 myshopify.com \u57DF\u540D(\u5982 acme.myshopify.com);\u540E\u53F0\u5730\u5740\u4E5F\u63A5\u53D7,\u4F1A\u53D6\u5176\u4E3B\u673A\u540D", "key": "shopDomain", "label": "Shop domain", "required": true, "secret": false }], "credentialProbe": "get_shop", "description": "Shopify REST Admin (Legacy)", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
196
|
-
"stripe": { "id": "stripe", "kind": "builtin", "endpoint": "binding:stripe", "digest": "9018856070c05e2689890e5886cd156c20c7f510208e5c2edaff53b8c4d147fe", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Stripe", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
197
|
-
"supabase": { "id": "supabase", "kind": "builtin", "endpoint": "binding:supabase", "digest": "02deae19647566cc1099ed7a5b674be807f827e0928492e5df6a36d41a3a3b1d", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_organizations", "description": "Supabase (Management API)", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
198
|
-
"tavily": { "id": "tavily", "kind": "builtin", "endpoint": "binding:tavily", "digest": "f05ce101c469e105652f43dc1b8037457b331f1da49c20c654f6380c48924c79", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_usage", "description": "Tavily", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
199
|
-
"telegram": { "id": "telegram", "kind": "builtin", "endpoint": "binding:telegram", "digest": "e6caaaa5891f3b1dedee318e9e11cc96991867f9d8875af42898717d27bcf350", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_me", "description": "Telegram Bot", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
200
|
-
"telnyx": { "id": "telnyx", "kind": "builtin", "endpoint": "binding:telnyx", "digest": "e6b61e04e711fc38d456f0e273773f76f0d9cd0831a9e71dc448612d9850c0f6", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Telnyx", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
201
|
-
"todoist": { "id": "todoist", "kind": "builtin", "endpoint": "binding:todoist", "digest": "b89bcc3334745446428725ab286f795fd8d9ccab9b0b52dbf07aa5d2b79db8dc", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_user", "description": "Todoist", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
202
|
-
"trello": { "id": "trello", "kind": "builtin", "endpoint": "binding:trello", "digest": "676b6dff40210538a1820d3550c94b6665f4243de319fddad8f23d727fb61e52", "describe": { "exports": [{ "credentialFields": [{ "description": "https://trello.com/power-ups/admin \u4E0A Key \u4E00\u680F\u7684\u503C(\u4E0D\u662F API Secret,\u4E5F\u4E0D\u662F Atlassian API token)", "key": "apiKey", "label": "API Key", "required": true, "secret": true }, { "description": "\u5728\u540C\u4E00\u9875\u9762 API Key \u65C1\u8FB9\u7684 Token \u94FE\u63A5\u91CC\u751F\u6210(\u4E0E API Secret \u4E0D\u662F\u4E00\u56DE\u4E8B)", "key": "apiToken", "label": "API Token", "required": true, "secret": true }], "credentialProbe": "get_member", "description": "Trello", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
203
|
-
"turso": { "id": "turso", "kind": "builtin", "endpoint": "binding:turso", "digest": "682b9f70af7cbddd89cd42ad227b644aab981755999c890a54648fe30351e06b", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_organizations", "description": "Turso", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
204
|
-
"twilio": { "id": "twilio", "kind": "builtin", "endpoint": "binding:twilio", "digest": "4051deed82c9c9370b6f68f7c79b65b1f2908188c44a2a6fca2480143a97acfe", "describe": { "exports": [{ "credentialFields": [{ "description": "Twilio Account SID(AC \u5F00\u5934),\u4F5C\u4E3A\u8D26\u6237\u6807\u8BC6\u62FC\u8FDB API \u8DEF\u5F84;\u89C1 https://www.twilio.com/console \u7684 Account Info", "key": "accountSid", "label": "Account SID", "required": true, "secret": false }, { "description": "Twilio Auth Token,\u4E0E accountSid \u4E00\u8D77\u4EE5 HTTP Basic \u53D1\u9001(\u4E0D\u662F Bearer);\u53EF\u5728 https://www.twilio.com/console \u67E5\u770B\u6216\u8F6E\u6362", "key": "authToken", "label": "Auth Token", "required": true, "secret": true }], "credentialProbe": "get_account", "description": "Twilio", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
205
|
-
"umami": { "id": "umami", "kind": "builtin", "endpoint": "binding:umami", "digest": "e11b334e6e8240613386d68023d0b9857228af232916beb220ed1266f55722e3", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_user", "description": "Umami", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
206
|
-
"unsplash": { "id": "unsplash", "kind": "builtin", "endpoint": "binding:unsplash", "digest": "731e99c30556c4eb779432c5179891db141eae21f9079d49504ceeecd3c98501", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_photos", "description": "Unsplash", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
207
|
-
"upstash_redis": { "id": "upstash_redis", "kind": "builtin", "endpoint": "binding:upstash_redis", "digest": "366629557a6a9833fb47a72efddb27840f02ee13c26ee262ede25dcc978ba915", "describe": { "exports": [{ "credentialFields": [{ "description": "Upstash \u63A7\u5236\u53F0\u91CC\u90A3\u4E2A\u6570\u636E\u5E93\u7684 HTTPS REST \u5730\u5740(https://<db>.upstash.io);\u53EA\u63A5\u53D7\u5B98\u65B9 upstash.io \u7AEF\u70B9", "key": "restUrl", "label": "REST URL", "required": true, "secret": false }, { "description": "\u4EE5 Bearer \u53D1\u9001\u7684 Upstash REST \u4EE4\u724C\u3002\u53EA\u8BFB\u4EE4\u724C\u80FD\u8DD1 get/exists/ttl,\u4F46 scan \u4E0E\u6240\u6709\u5199\u64CD\u4F5C\u8981\u6807\u51C6\u4EE4\u724C", "key": "restToken", "label": "REST Token", "required": true, "secret": true }], "description": "Upstash Redis", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
208
|
-
"uptimerobot": { "id": "uptimerobot", "kind": "builtin", "endpoint": "binding:uptimerobot", "digest": "9b9c33799a5f57c2e15fae79c512fc2e6e2a4fbfdd20d8b05bbe626bbeb5696f", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_account_details", "description": "UptimeRobot", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
209
|
-
"v2ex": { "id": "v2ex", "kind": "builtin", "endpoint": "binding:v2ex", "digest": "4c0011b589c32d5c82e8cc1d4a7d6fb09e7e5831e19b331d4951d42039f18b86", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_current_member", "description": "V2EX", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
210
|
-
"vercel": { "id": "vercel", "kind": "builtin", "endpoint": "binding:vercel", "digest": "592112ae466b01b0f41b2f9c91cb6085b45a98b8967c2c4ecad3aeed0b526853", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "get_auth_user", "description": "Vercel", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
211
|
-
"wolfram_alpha_api": { "id": "wolfram_alpha_api", "kind": "builtin", "endpoint": "binding:wolfram_alpha_api", "digest": "7a77df4c4de08c9242c789f4da7ac700373a57822c6fcb1331a77eee7324dcc1", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Wolfram|Alpha", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
212
|
-
"wordpress": { "id": "wordpress", "kind": "builtin", "endpoint": "binding:wordpress", "digest": "2827ca153cb20ad1c2c37dcb367e02dae41314bd6be779d25ccb988ae2b7eb15", "describe": { "exports": [{ "credentialFields": [{ "description": "WordPress \u5E94\u7528\u5BC6\u7801,\u4F5C\u4E3A HTTP Basic \u8BA4\u8BC1\u7684\u5BC6\u7801\u53D1\u9001;\u5728 WordPress \u540E\u53F0\u7684 Users > Profile > Application Passwords \u91CC\u521B\u5EFA", "key": "apiKey", "label": "Application Password", "required": true, "secret": true }, { "description": "WordPress \u7AD9\u70B9\u7684\u6839\u5730\u5740(https://example.com,\u5B50\u76EE\u5F55\u5B89\u88C5\u5199\u5230\u5B50\u76EE\u5F55);\u5E26 /wp-json \u6216 /wp-json/wp/v2 \u540E\u7F00\u4E5F\u8BA4\u3002\u5FC5\u987B\u662F https \u7684\u516C\u7F51\u5730\u5740,\u79C1\u6709\u7F51\u6BB5\u4F1A\u88AB\u51FA\u7AD9\u7B56\u7565\u62E6\u4E0B", "key": "siteUrl", "label": "Site URL", "required": true, "secret": false }, { "description": "\u4E0E\u5E94\u7528\u5BC6\u7801\u914D\u5BF9\u7684 WordPress \u7528\u6237\u540D,\u4F5C\u4E3A HTTP Basic \u8BA4\u8BC1\u7684\u7528\u6237\u540D\u53D1\u9001", "key": "username", "label": "Username", "required": true, "secret": false }], "credentialProbe": "get_current_user", "description": "WordPress (REST API v2)", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
213
|
-
"workos": { "id": "workos", "kind": "builtin", "endpoint": "binding:workos", "digest": "6c08e1c19414a2ca25a9b7f8147c5c446d946900bac4ee5ed8a76ddd64b6f202", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "credentialProbe": "list_organizations", "description": "WorkOS", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } },
|
|
214
|
-
"zhihu": { "id": "zhihu", "kind": "builtin", "endpoint": "binding:zhihu", "digest": "18005d6af695c3f1a191866268a8395fd1c3de8d83c7b3046512c35e87db5ff9", "describe": { "exports": [{ "auth": { "kind": "single", "required": true }, "description": "Zhihu", "id": "actions", "profile": "tools/v1" }], "protocolVersion": "plugin/v2" } }
|
|
215
|
-
};
|
|
216
|
-
|
|
217
|
-
// ../plugins/src/registry.ts
|
|
218
|
-
var BUILTIN_PLUGIN_ENV_KEYS = [
|
|
219
|
-
// feishu:官方 MCP / 换发端点的 override(测试用)与工具白名单。
|
|
220
|
-
"FEISHU_ALLOWED_TOOLS",
|
|
221
|
-
"FEISHU_AUTH_URL",
|
|
222
|
-
"FEISHU_MCP_URL"
|
|
223
|
-
];
|
|
224
|
-
function narrowPluginEnv(env) {
|
|
225
|
-
const narrowed = {};
|
|
226
|
-
if (env.PLUGIN_TOKEN !== void 0) narrowed.PLUGIN_TOKEN = env.PLUGIN_TOKEN;
|
|
227
|
-
for (const key of BUILTIN_PLUGIN_ENV_KEYS) {
|
|
228
|
-
const value = env[key];
|
|
229
|
-
if (value !== void 0) narrowed[key] = value;
|
|
230
|
-
}
|
|
231
|
-
return narrowed;
|
|
232
|
-
}
|
|
233
|
-
function builtinPluginBindings(env, opts = {}) {
|
|
234
|
-
const names = opts.include ?? Object.keys(BUILTIN_PLUGIN_LOADERS);
|
|
235
|
-
const pluginEnv = { ...narrowPluginEnv(env), TB_PLUGIN_IN_PROCESS: true };
|
|
236
|
-
const bindings = /* @__PURE__ */ new Map();
|
|
237
|
-
for (const name of names) {
|
|
238
|
-
const loader = BUILTIN_PLUGIN_LOADERS[name];
|
|
239
|
-
if (loader === void 0) throw new Error(`unknown builtin plugin '${name}'`);
|
|
240
|
-
let loaded;
|
|
241
|
-
bindings.set(name, async (request) => {
|
|
242
|
-
loaded ??= loader();
|
|
243
|
-
const mod = await loaded;
|
|
244
|
-
return await mod.default.fetch(request, pluginEnv);
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
return bindings;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
14
|
// src/main.ts
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
15
|
+
import { existsSync } from "fs";
|
|
16
|
+
import { Command } from "commander";
|
|
17
|
+
var program = new Command("tool-bridge-server").version(package_default.version).description(
|
|
18
|
+
"Node self-hosted service with protected setup and PostgreSQL configuration"
|
|
19
|
+
).option(
|
|
20
|
+
"--directory <path>",
|
|
21
|
+
"Protected bootstrap directory",
|
|
22
|
+
process.env.TB_BOOTSTRAP_DIR ?? "/data/bootstrap"
|
|
23
|
+
).option(
|
|
24
|
+
"--port <number>",
|
|
25
|
+
"Listening port (otherwise managed bootstrap port)",
|
|
26
|
+
process.env.PORT
|
|
27
|
+
).action(async (opts) => {
|
|
28
|
+
const port = opts.port === void 0 ? void 0 : Number(opts.port);
|
|
29
|
+
if (port !== void 0 && (!Number.isInteger(port) || port < 1 || port > 65535))
|
|
30
|
+
throw new Error("port must be a valid TCP port");
|
|
31
|
+
const server = await createManagedServer({
|
|
32
|
+
directory: opts.directory,
|
|
33
|
+
...existsSync("/app/dashboard/index.html") ? { uiDir: "/app/dashboard" } : {},
|
|
34
|
+
...port === void 0 ? {} : { port }
|
|
35
|
+
});
|
|
36
|
+
try {
|
|
37
|
+
const started = await server.start();
|
|
38
|
+
console.log(
|
|
39
|
+
JSON.stringify({ event: "tool_bridge_listening", port: started.port })
|
|
40
|
+
);
|
|
41
|
+
} catch {
|
|
42
|
+
console.error(JSON.stringify({ event: "tool_bridge_start_failed" }));
|
|
43
|
+
await server.close();
|
|
44
|
+
process.exitCode = 1;
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
let stopping = false;
|
|
48
|
+
const shutdown = () => {
|
|
49
|
+
if (stopping) return;
|
|
50
|
+
stopping = true;
|
|
51
|
+
console.log(JSON.stringify({ event: "tool_bridge_draining" }));
|
|
52
|
+
void server.shutdown().then(
|
|
53
|
+
() => process.exit(0),
|
|
54
|
+
() => process.exit(1)
|
|
55
|
+
);
|
|
56
|
+
};
|
|
57
|
+
process.on("SIGINT", shutdown);
|
|
58
|
+
process.on("SIGTERM", shutdown);
|
|
256
59
|
});
|
|
257
|
-
var port;
|
|
258
60
|
try {
|
|
259
|
-
;
|
|
260
|
-
|
|
261
|
-
} catch (err) {
|
|
262
|
-
const detail = err instanceof Error ? err.message : String(err);
|
|
263
|
-
console.error(`[tool-bridge] refusing to start: ${detail}`);
|
|
61
|
+
await program.parseAsync();
|
|
62
|
+
} catch {
|
|
264
63
|
console.error(
|
|
265
|
-
"
|
|
64
|
+
"Service could not start; check the protected bootstrap directory and listening port."
|
|
266
65
|
);
|
|
267
|
-
|
|
268
|
-
});
|
|
269
|
-
process.exit(1);
|
|
66
|
+
process.exitCode = 1;
|
|
270
67
|
}
|
|
271
|
-
console.log(`[tool-bridge] listening on http://${config.host}:${port} (data: ${config.dataDir})`);
|
|
272
|
-
var shuttingDown = false;
|
|
273
|
-
var shutdown = (signal) => {
|
|
274
|
-
if (shuttingDown) return;
|
|
275
|
-
shuttingDown = true;
|
|
276
|
-
console.log(`[tool-bridge] ${signal} received, draining`);
|
|
277
|
-
server.startDraining();
|
|
278
|
-
const doClose = () => {
|
|
279
|
-
console.log(`[tool-bridge] shutting down`);
|
|
280
|
-
server.close().then(() => process.exit(0)).catch((err) => {
|
|
281
|
-
console.error("[tool-bridge] shutdown error", err);
|
|
282
|
-
process.exit(1);
|
|
283
|
-
});
|
|
284
|
-
};
|
|
285
|
-
const drainSec = config.shutdownDrainSec ?? 0;
|
|
286
|
-
if (drainSec > 0) setTimeout(doClose, drainSec * 1e3);
|
|
287
|
-
else doClose();
|
|
288
|
-
};
|
|
289
|
-
process.on("SIGINT", () => shutdown("SIGINT"));
|
|
290
|
-
process.on("SIGTERM", () => shutdown("SIGTERM"));
|