From da8424ca64f732dadf63ff45b11173ba296a372b Mon Sep 17 00:00:00 2001 From: walidboulanouar <72222865+walidboulanouar@users.noreply.github.com> Date: Mon, 12 Oct 2026 21:52:18 +0200 Subject: [PATCH 1/2] Add looot third-party MCP plugin (API key header auth) --- .cursor-plugin/marketplace.json | 5 ++ README.md | 1 + third_party/looot/.cursor-plugin/plugin.json | 50 ++++++++++++++++ third_party/looot/CHANGELOG.md | 8 +++ third_party/looot/LICENSE | 21 +++++++ third_party/looot/README.md | 57 +++++++++++++++++++ third_party/looot/assets/logo.png | Bin 0 -> 34172 bytes third_party/looot/mcp.json | 11 ++++ 8 files changed, 153 insertions(+) create mode 100644 third_party/looot/.cursor-plugin/plugin.json create mode 100644 third_party/looot/CHANGELOG.md create mode 100644 third_party/looot/LICENSE create mode 100644 third_party/looot/README.md create mode 100644 third_party/looot/assets/logo.png create mode 100644 third_party/looot/mcp.json diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 451e14b07..476a101ea 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -522,6 +522,11 @@ "name": "square", "source": "third_party/square", "description": "Work with payments, orders, catalog, customers, and invoices." + }, + { + "name": "looot", + "source": "third_party/looot", + "description": "Find work emails, phones, companies and web data from one API key and prepaid balance." } ] } diff --git a/README.md b/README.md index 399900c91..92e1b1341 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `quickbooks-online` | [QuickBooks Online](third_party/quickbooks-online/) | Cursor | Integrations | Read invoices, bills, expenses, customers, accounts, and financial reports. | | `workday` | [Workday](third_party/workday/) | Cursor | Integrations | Look up workers, organizations, time off, payroll, and recruiting data in Workday. | | `square` | [Square](third_party/square/) | Cursor | Integrations | Work with payments, orders, catalog, customers, and invoices. | +| `looot` | [looot](third_party/looot/) | looot | Integrations | Find work emails, phones, companies and web data from one API key and prepaid balance. | Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest). ## Repository structure diff --git a/third_party/looot/.cursor-plugin/plugin.json b/third_party/looot/.cursor-plugin/plugin.json new file mode 100644 index 000000000..79640fbca --- /dev/null +++ b/third_party/looot/.cursor-plugin/plugin.json @@ -0,0 +1,50 @@ +{ + "name": "looot", + "displayName": "looot", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Find work emails, phones, companies and web data from one API key and prepaid balance.", + "author": { + "name": "looot", + "email": "hello@looot.ai" + }, + "homepage": "https://looot.ai", + "repository": "https://github.com/loootai/looot-mcp", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "looot", + "data api", + "email finder", + "enrichment", + "serp", + "web search", + "prospecting", + "gtm", + "mcp" + ], + "category": "integrations", + "tags": [ + "looot", + "sales", + "enrichment", + "search", + "mcp" + ], + "variables": { + "type": "object", + "properties": { + "LOOOT_API_KEY": { + "type": "string", + "title": "looot API key", + "description": "API key from https://looot.ai. Calls draw from a prepaid balance (top up from $5)." + } + }, + "required": [ + "LOOOT_API_KEY" + ] + }, + "mcpServers": "./mcp.json" +} diff --git a/third_party/looot/CHANGELOG.md b/third_party/looot/CHANGELOG.md new file mode 100644 index 000000000..9ed39d31b --- /dev/null +++ b/third_party/looot/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `looot` MCP server pointing at looot's hosted Streamable HTTP endpoint (`https://api.looot.ai/mcp`). +- Auth uses a looot API key supplied by the user as an `Authorization: Bearer` header (`${LOOOT_API_KEY}`). diff --git a/third_party/looot/LICENSE b/third_party/looot/LICENSE new file mode 100644 index 000000000..ae1ac5c7e --- /dev/null +++ b/third_party/looot/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 looot + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/looot/README.md b/third_party/looot/README.md new file mode 100644 index 000000000..96913d279 --- /dev/null +++ b/third_party/looot/README.md @@ -0,0 +1,57 @@ +# looot + +Cursor plugin that connects agents to [looot](https://looot.ai) through its remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +looot gives an agent one API key and one prepaid balance for about 2,500 data endpoints from 90+ providers. Agents can find work emails and phones, enrich companies and people, search companies, look up a company's tech stack, run Google SERP and web searches, search news, read web pages, fetch LinkedIn profiles and search local businesses. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **looot**. +3. Click **Install**, then set your looot API key (below). + +Or run `/add-plugin looot` in chat. + +## MCP + +```json +{ + "mcpServers": { + "looot": { + "type": "http", + "url": "https://api.looot.ai/mcp", + "headers": { + "Authorization": "Bearer ${LOOOT_API_KEY}" + } + } + } +} +``` + +Auth is a looot **API key** sent as a Bearer token. Create one at https://looot.ai, then set it in **Dashboard → Plugins → Configure**. Do not commit the key. The server also supports OAuth 2.1 with dynamic client registration for clients that prefer browser sign-in. + +## Before you connect + +You need a looot account with credit. Billing is prepaid: top up from $5, no subscription, no free tier. + +## What agents can do + +| Category | Capabilities | +| --- | --- | +| People | Find a work email or phone, verify an email, search people, fetch a LinkedIn profile | +| Companies | Enrich a company, search companies, look up its tech stack, search local businesses | +| Web | Google SERP results, web search, news search, read a web page | +| Account | Check the balance, get a top-up link, list past runs | + +The agent sees the price before a call, and a failed call costs nothing. The hosted runtime is the source of truth for tool names and schemas. + +## Docs + +- Site: https://looot.ai +- Docs: https://docs.looot.ai +- MCP bridge and install steps: https://github.com/loootai/looot-mcp +- Server URL: https://api.looot.ai/mcp + +## License + +MIT diff --git a/third_party/looot/assets/logo.png b/third_party/looot/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..eaaca91c50ed380b1e822001f518768a5c697c71 GIT binary patch literal 34172 zcmeFYXH=72w>BD3ilBfZpmgOC6r?E9tMVu+Qj}gJq9P^q-h$Fpnu>tbh|)^{fzU#N z)JH&~v;d(aLqZk_)f?fgrX|89!^?0x^O zt^Rkk^Z)v}W{T^7##Z(JXzo9g^1oZ>e@Cm)f2RL;Q~by8ll=4L|Dsm^r@5p5-&6m` z>H~t<{|7zw$70AU1Z0x0V>$VpXIWDDjq#SU$GGKZMlTsxCxsyuh@BG%~d~ZiqL|LZ>#Bf4j=kd8Osa{C>Bx0nAz^ z7BL(j7w)ts0hgfIs6#FAK0`k;=Jlv*Jd7!73aP=+yDG?NFJXFoAMf>@F^gGbz)&U! zVJn2+T8 z+O3lKpfnf{Hg)CfDzBG7)D&TZ)ZnESzo-S~*Tv1hCcO&Ej8Cm^z9>3;@Pagxfsgxa zm&-phx>o5EG8{i&lOP=1DPD=DEHE)4R!ODuwH{@6w&3(}i{)7i^*A#=l)BjO1=~*W7TwvLO6R^owC;)1>d`rAA~JII z&>w^A5YloK)19XC&P!D(auFfEUg}p({^1S(z3pSOI9$H2>FZ6x55aI?@55{y+WG*6 zgU0XShcM|;sBQnKV%pMtVqP`RY~(M5nI2s{SR1Rgov)!VVBb)4n!Rw5&E80hZHO=z z_9xPxzB}%4zwJqs2c7!O=xKt&@U8fM!$5Amu){&0h}<;^?8X25i%A$fhlc*z^;tHD81!ex$Kr*)bLI>YzDV)a82rg1 z%RC6ghn8rh|@~0^t=sitUJ& z!Sj0aIe)Qg&e^1DgUR(D3MhrTMS}U{xta@TuT{=J$w6PR2P5SUW2^@C$nuOfzS{?) z-3qhXV@ShE61e3B61>=TV@ekt*#VCIMt6#1)e2TC#7ea(Kt;eXDD)8SKzMjNVp`Rr zQbFL%Y4(3j2^oS-E}VdAU2?cq>Az>?Fin3vbwHm{gOl_udZiD&J+NY|CpHN?WqU0} z(=4t!qY7AF85>lRcW4vkir$|E;Jy(3_9*6NB zB`iTda5^TyVU8c7nC#qcJim5^eLHMvqULF5->N2;h+_f>@IuisA#go`N?eP^J+P+C zl+yBBn<_@?Xd1oF_<+~%42gV(J))H=KhG=Gx_tgc^HcrD)_;~T7Y*Mn8O0mAYV${7 z(RXx*88d?TtZl6R8J~bDXYz#2-z4DYZ80l2*!f?B9!g+#t&8etMWgik$p~L< zEaQ8E_h348_UCqznCqDFpoi>nb$QX5Lg$T(q~ru|uFT}$!cGp_${Aea?`9k2;m*vn z-j4I$nte|lDtQsL!_nBMv$oYt?-{M2aqXw4u2O#KkZBsa8-41b59_9GN_xI(RYhos z|H*zs>RvGr-wXT}TS((cwe#3WkvP-dI-21!A`-EO&2VHPCbcR*Fph`qpkx9*XkSL~ zJMgD+cnTiv~P{j;|#>YZ`RN?|kaNobn*@!tBDk71*; zLC{^YjsDb0(sL_(0wZ$stCF;n^~%8)kw5-xulPBt9~Q)0(KLLf zSr>M;mu&tb<&z@~ESFkV9i?@{ncJTG;kBRYN-OEEqnGe_zP0wKI`FRvI)X$m?awm~ zRE{nB_qRi?aFF(oFg3>kT|kGr=ypZlVLtLn6Nu=HI=|>y(*vbRUHoAVof2-?PCPbv%*MOepfm{6+Zr z_K#=u;X@pn+FsQXItUN0tIORf=?OY=Xjxa+SxwdE%Xd_g2WRTS{^)B}-(tV|AGxY& zu(%k#3@_1n5^-qGeop^@(CE_oO`P0v++MBs7K?yxHS_B{_3}7-bT><|E-$M2s&&k) zv&X23eL4LQ4N=IOo)(lzp9~v~-=e1%l)FQkAXAI;!|RHTOR!DNQzWyP5J&pCL-Itg zL3fYJe%Ma4JOfd%LT40XQsgbYL!u6s>ZEjnhp=Xxr+_VswjYbipYnzc^omcBB{r>a z7SFY+5SAA3W8Bt?Ji{3%;hyfksZMat>HO@i8zHNsLLH0M+9En>J9#vRGwHhwGG2t$JW;D|{ zkrR)h)Q6DXzx9l})Rw-{KJ1%!N)7kM_9*gjTBnAok1#`bJw<1pno7Uq#fDa~{zZ4k z5;`+m97O1d;n8_+vFZWc;rUH5UF`g8F$O)6jET^oPgDoCo{Nz4nx^5K@(wx39<=3e z932`4xCDDx=;ivXZHwP(;SnG94hCwX7FQkFgGax%OXDJVM?)FM5?y1#y1vj5*ED6w ze#u(uQDogp)_i8<2JfPfskP9Y*|f~i-KZAD5~_dTZKT&?c?2WMZ*1>}<_yOB6=kO` z0nty{4?vqzXaWBc&fbCoAQa^I&VDUzmH{cL*z{i}E^bK!ir$jZNf_F?sFMj7AJx$- z8QPN7X%wuAYCCY9Y*9Y*64NYy;|XwFM!t<^)!+CM>2sRnW}1t0<29d_#paoUuX9%O zhN-hz9Jb)K2;&(i>RVNzIJB3qmnS9Y*5$(>JN32aVHc7K>GXZY5onCszA_HobEIUs z3TfE$$*&9>Tu#bkf6hGJdnOqB&1m|_nT= zIR^6iP}F}Q^CU6*D&wn{7*Z@NVYJMUX`Uns*SYqu<7W}I_2n>w3HkjfZJ*t(`GOEA ziW#R9bty~KpcZHeHKYYrLOpnEjFFu-9HK?_Zn;Rn#F7cL3G8i5(RRdLOxZT_E~aYx z@GhoyTf0?R7b~83MOqKPdF93SRKM1D+4ZYOj)L^>V|=YGcqb9d{$D=hjR%h)l=I!w ztnbrNguu|b03fSca3`MC;;_YWJa*e@JV360^&+REvG8-(5AmNLbrW3{=M<`r(p)Ga zofue?qJu#2UjcclSH-V?sPoqsw*G{eI9EfQHye%DE+wi5hKRRIJl!;{s^s0pNZ<#lF^FWYVhV)auB#U$ivgkN~A9{*i;h+{N+^RuN$45gpa z0kI0BoKu=PHD+0v()v7~7n`zjlKz=8JugR&3U@#f#itLa^k8d5&R6|)x4Ph8^}{yA zL}1X~V3ejFFX4pe*=!S0QRz0_itT}W3o25_0fb9`eLUYba^{MF^<8@j=qTkm>3hh` zX4*RaO}J|&BO0Q3|oW={}fPU9#vh&9`W|h4i&)=L+wb_{H{*kW|*^!<%P^uYEMCuqgXs(P{G) zMW{bnySlwO^iUz6YQedRiTON|>^$}*G}MC_gQ4&mJDuTc{D&vjPTsMX7xhCAj9oc^ zzs9vyt)dD*o`E_afS}bQ#oxJ@wLhkzqzj)entvG}dO2?b^V~P4Blz7oieEuTZP@oY zxJPMj=2&E>QSC?P70y`6vw-_lX*O0qF}1L|o4q4vfGv~iBp&F!Z|sDY?yy0l=wIOZ zM+U$4mepR}JL_vied6odUNzqla&(~#E1iL8>QQQc=oJ~*j}CPH9-lsO(DZ=o<`>%J zj79SxJ~DiXzM8%sz(ddeIo;XVI{PlwqRpkZ5FItG!(Oj*{3VoTHg$4m)C-%y*ubh^ zgQ@@3SS>%AQx+i4!U~!*s~qzJ*G}Zxi#ckPdoVMe&0RY3_5Dm4nzso1NTQ+SAQyC) zTuw>^a^|m1ntNdz7au0#cSqZ+%*=vlo_gmIm%Pc|qC}`3F%k^_0F(WVedYLwdX_z+ z{`-af+g<6OTjFZDi`Uh?@RO`Zf#jg9D;Fnd*=-e~7@NkS$_?I#fP|QC`3Lb#9Ut30 z{GcDv_TXe!z~6I2Cmrv0!^&|t%FghdR=hTI`sw9xdF=k4RcekuBvvereD8pwef%W` z_j%Eu((edAfhNxWg}{i31Y5kflXAbr3DieNRLQ0|8+%jXcbMIh7x$XgTA$-s&J5%U zr@W47MkmS>2gN56j0?q{KxFj9RJ#OQUof-VwQ%2J^*7^9zL00iq0jaj$6NOnYwwa%)?e~w z?MeLj>LAJ|an|0T$Y&{*#kjM5d{?&dK9GVp)UtU_W#^~7$^-IQW)T>Sh!7B#uo>+= zqWg1qh*VA1m)rW7!^NLpBy^%& zd05M3v6=2in^aj?K%|VAM)iH77NMC0juehFZDbhieC+6AylISmE%&4>TwhoprdDsD ztChpP^OJ1u$aZk9 z1KbXMeoBM>ij=&e)@>r=nmM_bwU>F5?@drzo@UL>Ga{)jUGKpJTR;baQA^S$(wS9` z!f@dopS`d~k^m)9E+0&R34?c z1wMZT%^KspeKQ<=D)@hNM~wR=%b;ppessCP#Mxq5FA6MEjtV`GeR+Qry_TBZ?b`cOe(;!H5{9Z^ zZkUn6*5v|)y8#{{u;3qX1PSBVEQ!eT5JLSR-(5d+pMPyq&if{XZAz~Iyf#vE>#hDA z-_hP8>b(k}tn=26FfaRp7ISHUN6wWziiE`**d=83<0no4Rnte3D{ZmQm^!Yw2Me1K zmU+wW-9WQx=U7DGW_O_%?*R$6#IYZ{$JFO4=$1uNhH05d;V2=Zngk@gcAef3p*EqF zoqG~By_oUCx35N&we-)VK6n+mMO(&``NI;eW%*wSs!%CMz##$KGR#lwalMhv{SAW$*yqzAH%UsTA(2xGZ~EPu>=b#5f4?pGFJ>&1pV~y9M^Nv` zbx6EiU-X=)v_I0!#K!D;q*!o`q=S2)@X2%1RrJP0*G}{qqSTAU7J>66K`AA@tj~=W z-(IhJdL76KGFTj@Iw(^eEAu67#BZYu4X))ekDkL_7Bi+36M}jAhxJW3L2K938B9#B z-!SNegh%+DoeU^t7?>@S>nObtJMG-@>1@kU;NV}RD(8@qj84T=1p$vQe&%><{|Da_ z7*St*HzukSfK!V}34wkPz;)1q(LM8}%dWUhZy8(W88E=CxGXe%>Z@ZWWBYj%mmA#N zw8D;CUTE;*D4W^bvGIm(ur^W0>uW!d$Im!rA5N&;nz>`8 z7=h>%C?Ipw{1ZSB<_6yz*P@3E_WOSFCh#_*{t1Q71gOX~aIL9@-w-EB{KINmHr!=3 z_h#G=B;$-LPi#98wzJ>lv34+2j&^iGI?GHLK1#@vyA{Z7X-SA>R@Qw5LyYX#=>_z; zjCmdT!CJpgFMGBqg$Du6PJ3?_wh#>z-J~CdU+0C6h#zPCBu35g?d?bR6p#zAUpYFCgr+f?vT;v0e~^Bv zX8xkSph|f+rd<{gpwptIo6QROfLF8^IPIraWoJ~`3r5YN@2GeDf<^x3^P%ja3LY(H zN6>@8n#M`_Y8MV2v4n*NYhLxoCMTfS^%kWd`pBL}+8{cBJ-}sY zk~AABg8%xFP@T*Edo)hMT~8o)lV8}4(X6#?4O1AUwTJQz-(pOkC|P_=7Cy8TgYAhE3(72en*GNe}dWZUpN4lt28~!(BJZ+gp#6ycUIm(zU%N z6TdO0uWa|j9P=KH!}uf*p1`Ob?;4D@n!5Im16sT8zSH<Co*OM7`+f?C~0=&oPG=`m3Q_ukg&@^6=uCQ(FKo; zLnPVRC6xB@pqaF&Y0C2&&-JU*EcyTn@vLlTcvbzOUIElRhKDDFlTNx7DuW= z1bCHsNrd#Z3)cSrbyhkeq4XeVrZ`V}l1xNT?Pu>DsA1B`hOS8`K0gwRFEaw4;9h+D z5t%4ua@5~7ejEFjWfDdGV& zHzMQv08mC_7(x5@@+8C4}qmE0Om?g1*)(xh}nUFdeUby;|0ItO5Y-!#N&|TZr)$ z679vf3Ss!HJ^w&xXh2icJI9+m+KfF^Z0JKs6Bn*qCOmZGNynh zEkR=obKTP0EV1U?4DV1#chd>LgrbCKI6ei@nKBEX@4sL%7xLGE%HT<8KV|n@C*1y} z5IjuhuwSat8kZN|Lmw8GOvCGm&~uie;(;aKjJ;Sn7yV zq^>A-_bMP(cjM^buIY<-Uc&E-01OsQOSi&#iD2apEgg!{w= z!HW`~#skPdl|STU0%7h-A{X2Y=_nxRnQWpE`+phmbn{5^Y*8M%tcwHJ^VhvO|w@ zxH$MIK7~WH<}(PK9H(JE_YSUgi8i^TsKJ)zYJYvc$g++MuLy*xj#B!*td-$BFuv8lav^g_bi_X{?#E+7mWk z_1ynTy1Q;**u`@mSI=>j1yqASvJ9Zo){S=lUKzr61u0%(%Rhg(t&)&Bj(iP_Ub!Ls zK6s(rbNE$E$9t@6=4-j0S5QX{HTy{cGXW?u(An>hmV;DRilDs31#NKppldX^6OwVVvG{3DZ}AD0>21hOK3Ef82JfcG1iu_-&-_46kb!{Pcz|kiZ1J zMX)panxUoXJk<&j>AGmQQRt5f3~_3MNJmhv>;LJo@xz_Xo>9%gc_ zeTT)~ixH*)&?77$v*}IZjE(4kK8t&q4RWIsqQHgi+JaYii;Mi-Y! ziy`k9)J#=*WR5=*HWB}E`C3v%EYK9>k?BD*BGJY3c+)8n6y=}wc?qDN(jD7f@cH}l z-S=n{cjXNB5Z-aC0o*mAXM8Y`mHoH*QotfkMTu!`A70c2qb6v}0A!Gf z#}C3W1&0pqYZJA2tduA*& z9O#V$o$iix%r2Lh%g+WUpqUYmQoW)r!hHz^1P3K4tA{YL@M?_h6}`(gZR!K|%@>iv zjHof7zp*-G-MN+cH1-O>M0j3njQb2U5tjKm5J3y|)k@5kLA1y=)L2C{WRHL~&bjz3??Ll`r}odl5A_zYzAGNO0TC-`HA- zf^AS&=&<}FE1_@lxrZ0FoP#1v3h~`Y%f!tsDILS1t;b;z@OwaVr`xh$&f5$Fjuw}qWj)=_Ay7#_BoUJ3 zrm{4{-xj9f_To0;L7fo$S{26NF|eCK|AC% z^~%|2n_!c3`eAxQu^UZ6nah+roMw%Q0}x*CVH&kQM8cHieoM8U2$8s=3)`Tqpuk~K z7V8nx$mu$l-mTB>y>+fGQ{OW44Og1qcf>L&AeqOBq9_TNJrv+}9E!@tvAp=D#=VE0 zp!FO^HD&(Us}S9MhoRU=!S6bq=;W1Xm2yxkcKvtdt=;{3A*#g7Z04K2-S2F?xFhmal!QeCeolkKV6% z^fu852yB}?C$v~rA3bwuQG;HYDZwP!Q*if$vx&3S-PDjUt3v9*?wzQXS#J$}tP_3m z(#3Ic*Kwtp66DPe`4q{p?tZr-OAVIbAQJH(Y>|y5L1i9qQU# zbSvun%dgkAJs@RsnC!4*Yk-S4F*l4A5=5UGE0G_wH;O@Ad#JS?*Q07hyj;q~y~u?j zH7mwZWwsOLXNBW}Rdqg}W*`50Uj~kGu>8_*P-IVs6`aaH920Mz5PVBzO0laGX^F(&WxOSXZ_ zjABN|SWOQXBPl@t5Yv6o(oH4TKk>g?L0;LfZT{p5|8}TsN#wbWY240j)!p!-x?@G| zHatyY+w=froKLpsX#sjTM}WvMaXT(n_s8m?CTgiVN_;P(h!8lRiqRFnHJBr+S_m*G z?CQ!s3D!&EK5+PNS;-$y#e}Hx=-V&Zv8Aw|CTS+eb-{&cKJW?WO>p>)=yXCxLWRqZ zu#mK2%cqKyR*aB*dbP_%tk3P7A6kM7ITDFG>C&{N+1GUe79VAaULq%9;f=afo4r;G zSLt=m(nV*>)n9M9lv)x1vwhug0B%rlP^vVaHa;AllZWp~h}f4F(N{Vb_XiyQsUEPR zQoO9&i`7AnA3OvK$6|2dT_Tl2z!df4?3IC+Nevf;j{8eg7{k8zMR=AtS5D7w*?bgp zA)no3MnA*i)DzsBT~Kq|s$JqbJbL@k$WRb2GAtGGX}zduAudqm?-U|Y;#Sc2#lKpa z@NnFf&~Fv<)j2TxVD7_iNRAAzr}#ma`+&y-fn_^QGPGimr7X~*oR2XI$9k|>R;UbU zSv)W$1x!hK)^39BgISTHjd3N}Vxf=HXRNWoRS>qEl-EU6j}>KGOF0?3x4_Xt7dg{G zVTmXS`_tmPb8dk_YVFj;w<#m9f6};*g3MlyGWy14eEbuK4v06ZN5JFVD40k@R7)&bMV|AIF|I)J%gbjZR|lJc(_nMhLt{*fNpW>h|t~ z>{loN*KSeEmG#%TQ&K&Ho;LZ|^iF*Wv=3~ceR8b8#YB&MB7GHN|7F5n^rQTG9*)iD z{?rBAB0(VE{>V8LLjy!%Eo1FPSM*ATYMK-yU@*nqLKlOXjF!ji?|!K6#?T)f*S%Yi zItglc(m|dd6N*a#YOxeC0#~g;k%AEsyowyUV)YP{$8wsj@`CU$>hdfA;vu%eWgAD0 zD5HLQi%`iMzqYk_@|3USUM;9>cc3T&=DVI@#qdt<-dG)3g^D(b zPA}y87+vk(m6!Zo9=C#dE7UF?SQlaz zR&Bbj2>4%S19dcgQAC}k$%;>(5sq0zYC0w8CfaX$MTZn#-pDY*U_Se)C2C#^dYQ=H zm>jO1nlpt4jH1EH?!+Kl)M{UQ-OsYnrQ%43n^ogY#e*h=n}WZZ+*RbPR8gLPXOae` zUEj~To212aSXXJ5pTf|3SzVMLm86{aQiczo(~r<|y__RL(42zJ;_a-{KJlyz8yS{7 zxYBf}QF)|--pUPE?ZUgZeluW#V_C3@zzZ*R;53QNrf+Rb%P_KLVB^Np;z#mE86jTe z*3_x|a4~N^e(%luXES;ck0~a~ zJ(mbn{sUKcminw~*HU5s63Jl8IFaH}8|It$Y<>9mdlEsHH`Y}Ml`GRGeIJU-PD5M^ z0(egm+Ux9P+;~kFkv0k4Aj2j7MN@u+h+`Mx14OhEH)K+}URdT3i(AN=Ce|=2R&u@XB zo{+Gu(`UwdskI&eyk}NX7=-|!<8qO-HuZgmBU-vh&^W9Zy>#@i(14zCX7}Z^-s#u; znb2gG_Cl;{_h-q9&g>I%{X?r48|Lp;K!PeyN8W5WkM1R?R`wCYo1M~DevcTD{kLd_ z-ilEmK4J{a9cml$*Nl)+gLwq|tnA+W^QEpA5M2T^v!Rw&tq#ZlCh} z;<|$TE=W(%q4jY{rp*sGxBT%C#ylj5s~hu;Pz#!5tCa{_m$PXKPGgwXw_es3C&mO; z84X0mfqaFGWG_aT5jHA97E4Z`XLYn;|?Z7toq7p%Y~N0jTJ; zFOpG2NJU9Y27{h_5dZc zU65;4#bE_o-_0k2o!gUrebNq`(8{}Lg~yzH_ST~!Q&$I4?KQ;spHEk>4LUYl%)M3< zdIb~GOSKPEa1u;qEBe^^3(7EvW~sI6O0WallndQ&C--ROtrwJVIz*w z+pStI;qLEDZt3l!PM-ALWPkylVo|O1OVVDuj$XF0sKsv=kntiBe}?Jp*BTiNfX@56 zIa|a-IF}kg-BWT}r0ISh~@fKUeMq`hB zIk)iw&n?cHK>y#`fq(Dm_irT%v39KwlpJ?Ix!mp1J9si=Yn|b5HNY#w<7tOnXON>Z zHar|ll9MRS#xukiGmD@oZOzTpX)oEw(YZb50AV+f$&)b4e{gqtv*>Hw6dh`@Ro6LO zZ9IS0L&uP}KnxnJRXc=!);o zb6J^i7NE?Hrky=phg>6lJ#_@5r-a%3EH?1T z-)a!x?gYASHtma2C9%B#ueG}1jAV1l9LCCL7+#*>Vvjs8$e<>8sl|rM329QGoGrH< zRLaB2f|3gxoj_HmqDF>H|SySD&$c6@+(+k|E+*aWBZH{Mi@9kJm@t9J#_Sns#Vj#87-OGU7iJGYBG!=-|D+)Tz*|ld z*`GnvLniM&1-^X=OFX$Hz2uugISZ&pwSqx#xiAB?l;p-^8n5r&A%^=wju5vB*16uW zYxN@93e~aZJGOJq{@@23pcx-J^jT%~gHqLxWYkV=2t!y0>W+ei!mtuUaFAZq;ou{& zn-QdXpXqV&{op!ort(!;+OtFG4A>Bt$#d}*!)qEkNx51#M;XEzTxMrYQqs4$E%`_@ z{Qg%;>R;F06a)POi|N}7eYXF=lMzfj7RN<35t$nLg^q`po%ELxst~!4ECxuYu#U+S za!hV%^yV>;Q!1V@JH1wUql(TbH~owhn+|v2XJe7;jI~i=05zY0t57>lCLu9C_%$s3 z0(q)V>cSgcjzpKp^euA<%HICPzE$Yz0U0=1T#V6=;N50Dz23yD(xCvoqGL#X@D!6N z+_!iL9c@w4_L|VGy#IWV(L2fj?gWHFJ+2-dw-PWB94ifm(o}3>yVA#fs;!U&{w}QIeRqBpl$5V`!L$6!MSxIpF=mu;f}C^+ z%O?m>)v$5{s|>VGkZZ(`FsMh1`uOktw9Z%VzV#K#*i4&rsnqP`k(v zxE_8cN2y5DO)V*HS$jvx$}{UAi7egXmWo(S(185Y{R2-ol> z%*~Tl40H6ZiFpE^nn5UCE+P<=*Q+lMju&>OlY{M6P&~|cK3{lYnaDkYD!UG}Bush7 zufCP$lEYSWG6^zQSfiqmenuBPuI5FX)2b#xe(qMs7VWSL`Cr| z?_|LlY-Im8ytn82;$(h?9{_~g~o zgJ(lY*Uro+1ms+i<+v#Q*P7cL0?6=wJURF$f+jjZPVts&e7V64xY?HXo28i;Pe*PYb-7c`_KJMx-Fcd;DW}8) z_EGdD&@(G(7X6`Xw0pG=pDvp7!dn??Q`#G~z^#V{P_zyYXskP1K~0}I zSJTTsc54xtvFEB$A3F`t3LZJ^P4K>aFY;3{KgXq`oPfk9&O_X4LUw-yg@P<%Io4o3 zI}d2+iU zLS*0WnjfyHNq6dCZLzy4V^N2ObQW7|@@V+i*0@0ru4e;Keee}=I63%3Q%ErdaXFR6 z^8~=Y&JXt#`XthR&gRmAL$6#%>G-WHQD%+?Yd1k=0=Ie~J)s^^_hm~Ze)&(Vggodx z2k~Smnk!xoD^h|;n_K5TIHymP1Hx=PYqTZ#dO!reg8L*WLX{^(P8AO5a;5w+^-^a? zf<5@LP`h}(01a@89q)_kcBEVt^*ls6--mb|$XptizYWQZ(YZvuos)PY(@knCvQNb# z3b+t*thb@Ho)0^j+3Fy|ZOp~YR8-D@DwEhg`}rbRkN;Zjb{~07c)wEk*!<>)hDT8j z=}4qfuQ88TtC3VYfudQ-0pH6LdgoRM<_#F0jW>8y73~Olu(Cq)45%OW4N$p zS%Px9&icbQ9K3<+AzGCVjW?LrAxbss77N#EI9}J@9dRErA7o_ujsy3YfIhJx{vD;O zO(wQgX8U{hCxm9&z|3jZBy4|t$TX8H(5%^Hc}=3f!|1RE&-&yz0m&1 z!P^(9;=088M`lkgEUQj*;!R|4f%rIl729C>;7W?XY6Ka;q-S$YOE zQnAB3`Z)(Cf-7>XGT-R_wjnmF7V&X(pEY{ATw-Q)JL!k_?p~8@^S6f18R*zT;MT87 z^88Eb6I(mKly}Bh+BxhT`8J^RJKd`NQ@m#*K*Wve|^LUYCjMzuWZ$v+8l6+;{=(A{ul_i z<9?mihV(R98~eyNhpXa?1n%DW_7jrSFWm>di9Ci=jVE)LBmfX@8J`xC=jnJxOE2=v zT0;cXZ~eVLs7B!s%#a4=qVKIO7L*Cdga0=d;Cu=iSq+HK!0A22vAf)7z9uE^Lz1If zaRQ}bEitVMb8|g~7|;M@pss(LzH0kKJZ7GWk_A149RXE=D3?L%s9}|YtMDFKge^S} z!~~WA?_zW-AjMG7ns5}bCiQI=eNFS=q4uY7<0*NXpb)Uf*Dl}|9|^eO<9Bop!Wvya zq!QkZRDWA1`wevzRJ#r^@#h<9;-^4J;}g-|-P5XEps^Ga(03Ugg};9X^nDZzJ-ooY zelcvABBai3{Yon1*vmPQAZ09G7~BcgM~nA(xBUvf~|ZnMNsL5;+_`4o1CDi!|}X7N#A!i&}{gx z-5cAFVXf{3l!lC>Ah$s3?`8byg%&L!&?LKvAFEiz`xB(&zKv&s9vYycyk27Ox8z5_ zXATb;Os*WjiIxRsUaoX7dkLDOrXJq;;}Nnzk|+4k!;2X=?sWkP=R#!F1(x>F+IL&v zMs;gYO%7;oY+TwMvIcN|9)b%A(vEs7nt=WSL2ot;ut_Tlz?4J&C{FBjaM+COAKf{C zNXg=ALXXZPJlFk*9uQ6t!ix*I8F>jb4gvW*YKnBIo+>s6wWHWUD+hP}*CI7RO;Kx7 z`>0^_t`1HncU-lGkp|PW`1LJQ2|hvt}D6a4i?kh zsl^QnlA2C15gorglL=5xzy1@N2E>TNPyY`KAOHq@611JAGDEeKV~wtwmjU=K32JW7 zSU0VN^ZxL02Ec8%LG8L6AOOte0$gAUOZzunbMN_=Arc3+xk*LTcZ6aj1E6}W^+@*+I&kFgma1p&SI1fyGB z@}H7TnI0GD=#fwv%~h5n9q}RGX}}#0Zr|@>1E4uq-^{L&qUxSkQ@5}@R6daB0KN!1 zMDSv1$KC4zyo+%u(65<=IcP13f-1SKdw8xkFtWAeg*uEeH<+57dsFd}_oH61>V38k zNqOoYvncg~o<{kI0Fyn>g#N8|+|gh1+GdK?cLBV?@sFeyg-m#7e@B_4n5L}>0=_2K zA=mHJPm#fzoaF$e6FP_sgQe$>f*SR3azIUD4d}Um7qn1rIQ;4eGmy98lCKyyzA&Fj zd)N2Fb-9TIcx-i6l4{yJ(*}kClW|m;WwSErOw{urx13d_6fy7aa^Yr{wS!tDb`n({ z57E9gm=ChFACM@HaJj!hKbV9!`X=fHa5<_unar|H>i^7Ddt*C)+&apjTbSr!YkIf5 zLuZj1OKH^9gSDx!gv#x>1a2zdKu`ES_!5}rk?SOKv&Af(4_*n|%nBn2gCt&3 zK2xQ&vxuhfyv+v0BTM!2iHW%J`BDFa-~adP%F7!<)5$d)Ch}eSUJC@}w(2J{tTj%T zqXHh+DYJpXe{j_h>fZ)|YA{-$mM#Jw==^WnhUMUUT66LQfSbzce`Z(F6@Mk$x_o?15s$z7IQQ1Jr#1xLQfdk(-Mg+2Xc^9||Tf5K6A&ig6{v^KJJ ze~8(HJ6wA_OAj*ij9MUN6b$#9CTJzsTBUB0`BwTS7i z?PN^0$O>wEwQt`!=SK9>B|*?3nr_VP+a@N^YcGeb;!}MNtX%UqiAEY@cSFmIu!@ujIi;KpDZcaB z_`6q7PQ7ss%xy^3IPK}R@6WEu&ZUH>sy})((xmj|$!kuomlq8z_$)HGUay@q;IsYm zRtG+-fk#Pnb(LS_)yB|}j1Y9v-}%0?vs9`M-XHFtmq6T}QEk`x7OF^f9q#L`5btVm z)8BpYAzj8h@@bN<_SsfP$Z&YiZ+CAYnyS-E*IIv@LW*(Dn7Rpq<>31`&co&H`Q$ni z;h#GH+kaCBCES6+g>`r*(=_`vk{K`_;L3gN3qm5zbpvkC`euwZCLSi=VBzy zBT76|XGkyKD5iVe{@&dXHfQ@5ld&qWKxWE%CL9JE-BM}kZ?HSU(w@+gD^3}RtemQL zFgnq@ysgc6gh_NS{!&5fD!9N$nE?#=(QF{rQHZx#%FW%a`uDGT#%MUMCWXPryeKuf;uBA9`T=+jSxrYF1dN8^P~nRWr(r@IB53lbM*C@)j%+h-=U63l@sM z+DPD2kPY!YGKSrsMvXj`ftv?wRFI@vp~haZzq|Ak2EhwoIO~>9X}o^zFWjj-nG=bW z0PQl>yK&W8m*K){l4B*O29aud5+YWx&DZd@PitP@nFqk#_y`(){gSn|pX)%47D+?99*W3 z1P{|>DJ-PJamvAWQF|>J+d|oRSfRXfC~|2Mz}(ih?$|kfM{fSq^7#EvsUSHSSAFq& z46>K{MP$DxKy;#T?_tTXd-478a4+pkJ(qJ=kv^sD5ufw(PZ3+lUD^9d(3&l`rQkk_ zB9V-O(1UN!_ItQ8pu%8B<*1MB%=(#q^W*nq5FTqK)vo>QO!LFnlwb*%AwBUNWYHLs zT9rJ?&=Ws9yGlv;fbz^YnK#p!m!hz!|HTI1-@4Cj3EGd^=?~X>ziu?M7>O@nOY``@ z+WXF^CfDsxnxIDk6&0n$a)bj2h=Mdp@NkqPEhr^YgCf#FdQF0&A}Zu40#buYk={#a zL1_X)=%Ghxks3*WB&5w7@0vAdX71eoy&q<+`7rsA^)AR$-@Tu`_ivYH^+R{iIXAIn z4L%@7P2-JH^jWWD>xOEA1>cVteuCcN`=HVT;N34<^xjgpk^Zq)$+#E8pn4sIO>$>K zNdv`@BXiE&tj}BuX~~EhxmFND4I=7Zl!I%S9Bl=^!b}kxS0^WJ+0fb9Z?FoD_^Q`j zfB>Z|K+#E?H7zNl=5;e;N$d>qK8(y%Z5Wz%mGAy7-6zGByYMrFk($_RDc!V`kIR=F zKfR3-yOfJJ>1a;j9W91V-JNFtNW#u#{?T*0KKl;!mKuL~9u4 zc1k&!lb`jJJt<>p*j1y677x~Ge*Ko&M0N~6M=1++u(mAXhI6?cF1xRZW;}J(-9j|< zNng6fPQmC%OQXhLtNJchHC~N0Y>N-k!S)bq!;z4?@8e+2#Z!MW(*s?)n~1iy=bOqW zNUw7Pm5$!684$^qqAwcEGX?GPhQ%;}-cz%aH(zB9>*woRStdPA;`{pfu)K%q0br#2 z)_lEVs>-C3gb^ThbXoD+fL=bZ70&d^hu6PA75Z+n#TbidV97A zKnqQL&NEM}H|MWtjX3RQ+2jI9ke5!?WTYcb_9Lm})^Ye+uz#QESEo=Q`v)~P-lMso z`%rRiq95~oDi3`QlQ>y;QctO6fcowY&hu>|WarcIg^bvtOYM+LMOdYFjHs{ds@88@ z-beI|AH;K}>!qcN z^h+h%PCW97?BPTy%U|jE~0P3Ec2=OfYCHv|cYW})^Z?(t}!uL6?QBLVkO7pf!vuZ)J zo6)Pt>tCF}xUE+|kh~G^?sF;?phsYcgoPM-Facz16F?zDa|YV2mV%|Cuth#u5{GrPsgdCyOy@B71RC=lzlu6eT5 zNh@|5iB%T?u%X+K7u1ubeUDCQVnwsf)A!Nrx@TgToRnf)DI%6S8RSbH)EsZdhRX~r zRv*W?KcS$)x_$W4=LfG2&kJTkOGAYxTen z$zl#juJ1|6i+q?eH#Q~xi^{ESQyC;Qc5+JCLX>~@&F}rgpznvIhY?UnDnU+8JWXHK zr%W4rPcT}mR_D^vIe0b;B*ZtMUCS@?s{e9X_dZA4QJ-U|#024}g;bBQNM#Qysb52now?C@f?VLTcH~=1YcIx5Kf-3nXB)Gk=X5zs8l!GUU+}%DY`;FKH zk*LK)uEH>N$4HQSD}CyZkj>eI{PuUF&zs4B__$UrdNOy+NOavQvM|2U)J*$31d_O_&S%^I5oyvfS}V8q{lQ%ILbe{{B$^;8na(M z|B89M2;bsUt3Gvu41eXCB=v*{mvzf{S~hs zzPv_fe3d`XP$OKW9^c*?8GqGzV-^KC7T!~)pNwwiI!O{Zcgv&%qEM~d>i52lRQC8- zZ$DPnlD0hazBKVk7k?(y>-bxX^c)}Ekn$Pz?e}I>I*p&u>DM)L0tNwVmqtWc!~`>3 z1m`!x(H#JAXKLW79c|x?bUk2B4n+Q(Cqyj;JPF~f_j`FpqG_s$&Elat`VIN)+4P%> z83!5oqRwmi-9JLf4Ye7CH<<*(=X5|DjU!zu4G{&*YAMY0Aa*$CwwcR8*gBn4Gn
  • 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 Date: Mon, 12 Oct 2026 21:52:28 +0200 Subject: [PATCH 2/2] Use plain hyphen in changelog heading --- third_party/looot/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/looot/CHANGELOG.md b/third_party/looot/CHANGELOG.md index 9ed39d31b..47c99a743 100644 --- a/third_party/looot/CHANGELOG.md +++ b/third_party/looot/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to this plugin will be documented here. -## 1.0.0 — initial release +## 1.0.0 - initial release - Added the `looot` MCP server pointing at looot's hosted Streamable HTTP endpoint (`https://api.looot.ai/mcp`). - Auth uses a looot API key supplied by the user as an `Authorization: Bearer` header (`${LOOOT_API_KEY}`).