# v2 git bundle
7cd35ebb71fbe603746cd697f920b176701cae93 refs/heads/bundle
7cd35ebb71fbe603746cd697f920b176701cae93 HEAD

PACK       Oxtree abe3d00b93a1d4ecc292cb112f259656041f9615
parent 3783e44c5ec46ea35f39afb2cfa80e82e483d6fe
author zy <xpzouying@gmail.com> 1754802540 +0800
committer zy <xpzouying@gmail.com> 1754802540 +0800

feat: implement xiaohongshu automation with MCP server

Complete implementation of xiaohongshu (Little Red Book) automation system:

### Core Features:
- **QR Code Login**: Automated login with cookie persistence
- **Content Publishing**: Post text, images with AI-powered descriptions
- **Browser Management**: Headless Chrome automation via go-rod
- **Cookie Persistence**: Session management for login state
- **MCP Server**: Model Context Protocol integration for Claude

### Technical Components:
- go-rod browser automation with stealth mode
- MCP server for Claude Code integration
- Cookie-based session management
- Robust error handling and logging
- Cross-platform compatibility

### API Endpoints:
- Login status checking and QR code authentication
- Content publishing with image upload support
- Navigation and page interaction utilities

This provides a complete foundation for xiaohongshu automation
with proper session management and MCP integration.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
̸=xuIF SV ;
7aSY][WBe
"/WK|I\,Ă_Y*g?k(mZ̺o Ec<aoD`~n }YS5_VXhc87)@g
B!Wq]f;BhP6N9beZ}koOS`B<wh1=	3r99s-pHxҬKdc.#)@zP@b$,Q"4&9dwd/|~ܫSQ|:ISԨl/_"ׇAb=;:
tɛ|[C5N2cvFdj;Ќu:sWYTI.\upۿU
wJLD#Zoq~T35RS@iL3gAv mU8{ɓa0Z^2Z`vWAUz#XjH[(JԦN~f5Z]FBd0]=޽֙`[(s&W48Ij2+4z|_|;'
<3(Uj3a_yo:@(\!BږW2s"=NsZS5JݮIt6ڳ`eaFzb#aVBl&JNfBAz;/70$x31 ҔT;B*w-/C3̒T3L׶]w|pڋaN*_ WG_Wi}=A
Nvf\reVJ:]T_^Z0m'KYmx"yO(2UA&T6?/-3!ݚ;M+|UI^ש9w#LE~vfj1oM(}<P0I]tӴI|<4ڗ[SJ7n})=aٻߖAUd$38ż&G;x*M)r=-sKke[mYr$ $eE =vUݜ綠V3<B7?zSŉ7B+e&TYpv7p\G}!aT^Qʰ7*7:Ꮢm? x/ 100644 settings.local.json C/;8Gɂ5w?xuA
0E=EJŮ.&CH2%ta]TJR@fȺQ ty)S@1bG>OP{S>Iȟ̑oxHram#77G.8^ieC#x=Qn0A*&tDhG,z8o/i'Y;;`B`
q@R0K2"X}}k)ckr;H	uՃQ?5􉂉=.Nz2+h%vN}2C*B39ao[QwV
\z1^^A'LGikS╤cREP-̓X.wfsyvBˀ/	f-Kad(S?ņʮ|yen~h,ҭ'%GTRqZ#I|8EyFhxC# 小红书 MCP 服务使用说明

本服务已集成 Model Context Protocol (MCP) 支持，通过 HTTP JSON-RPC 协议提供服务。

## 服务端点

- **HTTP API**: `http://localhost:18060/api/v1/*`
- **MCP 协议**: `http://localhost:18060/mcp`

## 可用的 MCP 工具

使用 Claude Code CLI 添加 HTTP 端点：

```bash
# 添加HTTP类型的MCP服务器
claude mcp add --transport http xiaohongshu-mcp http://localhost:18060/mcp
```
»xSVLK/(M.uPH/BKRVVxw)+M|E7H@YONzf͓,|9ŲgOV@$>?O7?ߵeg@<qC׋^,JHHHJ,JW(*SHMOMK)8iħ;NX;
>Z2 Otͦx& 100644 browser.go ǜ쮷$n.J74xuRKn0][ OMRIvYEe[F4ɧ@Oы8zR<d҅|||([KX[w26#Z^!ySmE_^UƟAVK~A>(tӌUx$	%
8yMϓv4(_,(X#haXwpV÷GDWWh,ˎJ7sJvDYUOOtl⬔柤ÏJOբ\_QdRQg:hh3sC+(۴8Joo](FEW7_wEvtυ!.hSvrҐn5D	B"Bt`9yX.jr9۱kcKGAk:g$!̨}߅F<= Mx  40000 login ƸQɣx# 100644 main.go IY,JBsKeD;*gdxTAk0>ۿB3^QhG@e[#InBr)[@a01m6vz_d9t,>)~Ft &;)eئaOL"92e$"]v2xg58fYϝvӗ4{HҘjO}F9bK1Zmim	|(k 	GCSCw`a7ҝe΃u@p"CnBжB A	xx`(cGiVB9eF6Uk:ܕ!yVATB-SjFr^Ҹ"+4mo{]9ݐH`;Tef%H'E&7'-R	G7|~|+FeyQfHdh*M/|i,ຮ5jV^	s͞_~q՜ 23-@w}TQIj"vQ|Wuaûe,?9oZ:PH'w4dò7}o1ʦ[	^_UN#ܹ99T=B=зvܧHLʣ]z@4Rab"K1hlS20ؓ謿M](riݫItH 2Bx' 100644 username.go x1K4YJ=%:Aóx3 package configs

const (
	Username = "xpzouying"
)
ƒx& 100644 cookies.go k rTIHK8>x}RMk@],dRB⢸EQDETp!.{D)"uW)B_|$FnBfs֌/L Wj!EC\Jd&o<+d)ODf&ͼIZfb	FhL٭tTde.L)BCcϞ1{%r=ԥ8hnV=jfE[qx ^IGxЇ WN!rUSgdZly6"ؚj\}:-ݬ8k77}e
,Gx0ȘX"F|duv}_>acDåO&>,(OQp@դO5a{Fa,5B̲\w^ۣՀՏp>~Rw˚.YNAa>?>A׿m
~'L'Dd~V=dE}Ʀ/U0ek\RyxUr <gB kפXl(<+}@8^D|PUt҈"h(#Noe$*g4ҝC9pXԤi`wPRRQ<&uE{_1ǻHURKOllQ'Cϖzp^MEuLhpWoWabxp.]XPZ(#">*gb{&wY\cH{]7BbnLThf&&2j$])tT#eDHOxzlEE1fy,f%u9mw`1]zˌoV"\WbdWy`ڟ[9eМ/aT*'NV}«fM<SPKSM섧]J`*ovdޛU.۰d{=kTMU?Wmuueϸ8'j! mR8Gg7fEb5Z+>Eŝh78vmLE5E}JciɅi%b澇wZ.7~ 5mf,_9v<,jy̢ܲ*k(WJzCguaeFM涘OBsx׎h*p1EQ̔(&Q'3~T*Un]ݻd~o%*t߂mB"ph,c`#Z3wT-g!,|Cv +-L	6p1q3Eby'&XQf<{>+2X6^;8 "2l;	KH4tg\:i/B{+^ZK|,)
L6ڸ#v?()\}ol@c|a=ySiڈ!WEKH[V%\h/sj%ЛntMZJs:R@}0w.aY7X:մ	ѮE̚r
"YT{k"55"<{@L#T_2~AQҷg}KKhY:$݀ՌRCqְLrc Pg9wrt^t,̵P/ׅuL&/YT~!+#ʪh  1kyz	)5N/B"=$,7pU.ITQ|6߂!gV)nL1)#BO$kxm@|z.0"Bmz=£|Ċ037<>=X6-slK&-6&T@[EǫU!ӖfB
nI{jKoKfC{8cFKsQtǤ"b7fgm
,P1ƕE}̹8M}N!i[=Af6үexe4<5x:Kv!?$`sJ._k)\>OqB$!#4PSQ?x己棔POq
/9>mZF]60UӴя?HkT%tblQiYna}L"5@q6Ӂ[%L2[o_3?]|V=-/|nإDfld6qoUG3}?O'E`\ku6/i:7T,GP:/c7%xЍ51MDSx{) zVSBVNEsɉ\C;WH1RQ11}'co;\*	Yσ;`RG~>7+)?]?_F̾@$P;ͬZ{̪nl|== }W;XNgSDhtjfKHzgo{PBJFyGr"-۽v{h**ʠ4MpP\ށt%gj]G9RjCFk,u"sB3T|G
1 gi.m	7G	&a~},?\C	Zm܋]|-~)qT	OQIyŦH<h`@׭8RJ,׫}~U(4w/+BRiR#T&f֩Om)*SĞZ9.Ff5$]C:ޑZ=Q5;[&_`#o;4Kn+x?7Zd~!*'[9_NNU%`2J0R. mm=oڣ|.EYQ?6ԻiPsH\Ecx麤J}]FM;|Y6x2B0 _2<\].Dj|vCxcdsFZni|w+owj6<>m<Kd|(!G
7*`c-ù_Au iYHHq%Xdhf@n{{>z`?7)A(1AJ{XcyBsy8sG
C}SjJLP逳]sgF{AHdӤyU;)vy(xQ%eɿa_}>(lLiKe<4q-'9TYYYlZX!k3Esge799:[,d*Ґу*Re4f{66USZY	Ht#Lf2k④hH_.]htĝ뎌4B_?瞶Hq=;(+Ƚ0,mpշŔ˸(دaa5'$ZۨpkƕܶvoaǏ$h>ǰa9rozs|Ew/a]Vu35LHhN2׺.6d2kף{?;a1$4I?"K`CO2WxhVV_s1Ii#*{MscAڃƅS0!~	6y{T+V`V5spgAI5? $lK:F Im#E˯gl
Fq	v	8tMb%Q.XjsRﰯtn,/sjp*)wR 9v1S<ߨ#n1E`g=5i
l+ ͉%ĩkpѾhNʯl*hSY1J@?O7-jNeg1s
uT\EsP U(Vg1b٣p"J1Enx7r¾@~;XVxA8쎕睲ݑkQ4$[b/BLFﹻaw\`xx>^N[L4OCn.kgf"T׷J9~0Aʬ{ĻkKN}BG92,|6+֋}c3Tfa`jکix*pWm\>x/3{⡼SNX\Xwe0p>J|6Ha||hНt	fq6,y1q_AلS[~vp1v&ݺ'nL,DL[V'`yaf>ަ|%2Qu0duRZ+D,߃vi+Yb6jyy6eW|߹2*>o#jrj?^U<kT Ȯ<|Nqy~Dz96w&H_7tiȘ`Q4D$yǃpzR5'QK8EvZy	;,7I[~|͟LT6;$X(NJx?V1rap,284s93;4qQ;:!e2{(4iŝ°M9DΖʤ;&{ o礸&_h/'b[{j`#dE*jA9)O#qWϡ#9;\bOlv嵆Ku/~ O=e5{]iY(=fװSs.D?0TLQWU1c~yD0Q8Pk+P8}tN
Ï5@72})ͽ&DFaT?<t#BAaW*f`$%&{z]0;{]D8%MH1Pvr}mDU"S'ko8F>IVH;{wn%?~*(u,Sp]x5uϯh/QyX"pCZ01<*6SGx?W/+;swx2vz<Mҭ]e	˛ZR$O+8neyz0W:mTE)iZ_ cϖp>H[A`FPiEJ-(bbرQ8Z:=1O-oU.hbՎ͕&Ѵ7%ȳE׌1kٽT[Amlv'DHRT;<.Q߆xA=<-%RäA:=weYզF%E+c]N+BnP|F!C="!K	[=sY9pVmrBuV )+Fޏ~{~͠xܖY 189)ͭu7٢%vA=b<^L5"maUS=TiVh&?7YG8	;drR$vs!@/zoc^28chd?\9$V6PdW*~K),mKLtW`8 +0I6ck9p#+uQn]J-Y0Ca5?`'?[]F !%~{~DP8, 4/>G׉ DWď;R{;8cc 45ԴQf$*eMNw/qo^}36?0߿@~cv_.krA	 `7$_A݄w ڄ߹pIK:eTmgk- m_C<C"!Ga斲vXG6!$#4K%?r3#!2ߖf<Z*̥tya;bkmFHoFADdbJƦ wrn"8%07@'YpL=O7^
wfN9E:Mr΍3A7ӕeOeSY>#c(vl~abGP[Q$]ܴdUK>?\[րm䋏yw0Z(\ij2&="zB_xVoF߃!MH.NǤi*}M<l-T`EiES	Z4i_;;ЁTEy<s״Af:٬ic(`.c.?uŢN퉎:1u'}O	v|6;1Bh&k:޻8~duv$3/ʹMЀ!aw>uJI]eG]nmlI #-Ӊnܙ
5Jur4aiHsVyP5UɈ~jm~|n>ns4bhAZZf4.F+B:9-cZD߭	PGOtt,V@% xSMAv|L/4|6^d~0D`2REb)(30VDW%Ka|^X֋SE9:ó!
'I '0pˑ5䈬8@a7H&Y!Li! k8STnCP&i465ڥN*Mpc7<Xq?|x|I +9.ѯ$ha-v~K2AR
e9JV$Ќl\9>Di̙LZyf
jܞW*3克Z:9Q4|~pry]@Qx^T	P4~|́qzXl7XL>%<_-)HC+#ќ0	d@]XƔBC|G<Q^\M/_Wv{lPa޽?O,g0;KAфbxӏhDEsS:PD&x(ɈD@v7|q:H5CARXF,SѰ/A.<~]_DN]bp? bgQuhAfKEG{<z*<\i/ 10Gqx!`ᲀ
eˢ+gw4yw/U
ks>j\lM:EH΅6<Tg~1:\ˣWD8.'E
a:2:6Ვ 3DTfzû#|'g'|F).^b4\r{6]o	[V5|+jv(V_6!g?|xN0g)K G*^$$6$$v7$P@}`	!6F^}0NWFhs@r&*jPi^w.h[s\lxؖ]1%wv^S<¸<㼊dwW̠0upqQȏR<#(F(bY=},V^<f$~t3ڲzoVطu~2gJư'Mg3~	'(\ HP6\5GxYo,wjHD*!;D[c~0,6ɐWv<@Ҧ%H:`#RXE^nƔOv}PDN0,sw<73
%-v5n^H^2z𕺖WݕCŅF7uVll/wZAɟjsSӤYO.i[)߃Sl,h[lh9+?NR$ŷhVHӢ[Ee3:WgrmCt|3A@rLJ ŇM!#-T2 v@hP0@tB#@VJmsMI4kwP?P`ݢ.!Eqt@)	HOzqP<ճ(Ӿܑ&KHr _09GH@GGwE\^8zֹ˷[wtZgVlL9n^zF۵F[Ør,!"Qu^^
Cȅm@`9g^sWfFUۢF
-g7LvPd.d,n(WVR[
X
|aop(M!BW65r"ѹJ(FWF^OJ2;עO^_ՋD TFwyC	pQMGe*BeH]4zaG' IgH@JΣOR8еwN9f3"u6B(`(7E9Ig͛V3|G<[5\JRI.i<!ƑƂ" =>j	QSB?  72&%r(ѭ [Waa)vT``{gт1-@UETN6XV%[Q/}uYHViwPu"d_H"($ˉ8+ࣺ?QJJFFkOCu^
41
L6t{1Kf(v4A>0C<o[ F謜"
0'';$:S$N\.T"y'AR!<w!Q\ESߠk6ET2An6M+ G`\E qH ߱#Y4nqjuN&Hf}tvt._~~sI&
	Vz4[Mb|VWtᘄjD8Hyٯ</<YW6^Xߕ&&J-7m!fM+	PhvK]'*ge"վF(J
rk
T!J:'6nշIyCY<=A8K6K/Hih$vv~ߩW]je셜 >ԛcȧ!^" ȴ%e.M/a.(Ê; E)?~;[CEiEhHz_:Na`%>6bI7G{ҟm}~㥾ȖVR'ҦrmWyCz|$@[C
*HݝQEK!ጬb0uuFruFC9$Mɣ-⺬0#mI1%]R1DFy\uW\'B	'NԸ/GAzL(_7]SFp7#qo4XM3gB}Q'lRvB2/8c>?A]G]d!TVbIJA4aB( g\]l\D|@qc#3BuY ֌`(ҁ%,ؖQ\jxZ_Jĵb;7{Mht\)VnHձXR79*ש|U	_ĻdNoUx%Oy#%w7 zJv['eu"j2lOnߊ{baa^2n~+9H/w?"F<S5x_ 8,pD	<tq\`CCX!G;$F2,I\mHss$CʽYqAyjJ%qvP|*< SȍѸ&SX`ǎaI6uA YixuT[kF~~T GJ^Jqb@eg<DQG\(lX҇BCq¶K6{38<smRИ6¶y;J׶P
G:ųx,h iR5o3ǆCueۏX!Y]U'͘ضN-;)ruf1znvDxSV<x|e[6vOW'62b.Yh-eBTn=w*f]1FlP2u6w SJU*xGQbResY_gzun9UbEJ-2bd^= mô`BŨf)e۲8X`0^y?҂{ 5b<|d[4d!1hSÅia$lpgeA!Qy0+O;sDI>4SnwǧOr80Eq,63X8;?ZɌ{y&EF*Jµd96%:Hd z5等lAFcL5!Bq,L6[fbYDWI<!ss[N])Df,*(9Ա^@bذqH	,	\Kx;rF7G}zI߶mբ <(*A96ͫ|ؼ`mem1soԷ7 ZB{g맽I*9%92z
>,!K3 4w,^("}t"ք10QnӾ ё.Йߍ۟SnPުAO@PX?loxUOoE?{?Űj726\|@BQBC3۝YP!9-mҒ(T4RHm!M
/Y߂z3@{ޟfe!? !U=\exaHBj[ⱃX7jU<WW/IpKpv}/Br>:wr-ZDa G;G~g/~-~-@5eak_%h«&0U7J=5B;iDVx%snL?*)*$G HP(.}N	LlB-5;(mUZ])տ86|1EKM֥ϴvDRH#\W@? /&H)Οq͇T&*n`"7+^YFXUfmiEA?`kY:L>S]ɵ`^RM@Oy+F4Jqt.vw95?F=xlRYT],Yq%o"{ۻb;'ދOV)gVUv.	Z6\!'1D除HqoJ($?isJbV`ԓ@&8VI.zb9%q65KFhawi$jQ,Ϗu:zo/Oo񼣩e
X?XE)t|tkl\w
JEmPlģXɞ9vt`{rx4ڮ Io$Ł#f'Е
8ݝ>O)z|{q^'Ǐ_|JgT˒j;1'DR~Y50_W9\fDb1_Z7g]/I'-Ek'B)r@[v{ajhi¤^nśڧ?f!	x340031QOKg_/o$wzPCĲĒT]*t:6QM
Jr23@aT 6(wO6(CU_Z\RZXzSCM ABTxROP}^KLK>bx0$&<uM{fɌ. e* flCv{_--$>=9Vc3T"<A026q(aIXMyF2q;$G?z;q\Q>1'aѨA,R(b6~!Yٰ^?`/;zn=#绀*IRϕ4C*cWF,!
gC6E/x̏K'ԇR,)Jmw$fJ¡B8gL'jBb\ieؖnAm1PKS3\'S]iFɨ5G/vmVz8먶wZJ,l _#""0lb&UCJB5C&,Aap4^6q[Y$.
D@="[#n;lxĎJA}uZT;4盭V]V[QʏY48"^h}zo|lǪˬ-gg}YkV wlNR`gkWYIx$mc9-خ/LpCwAOvJBcQX>t`j|Z5z
OZ-ԃGo~߮<{JrױQ;U.D cx]Pj0<{bq؁wC%ֆ
FU[
y{<LA3Njl;v<cYȲ9[]'OMO% :[7dؐő}P\2X^UӕRܶ*^so+Ĭ1E%~fv=y
3^-Q{O~~F+6$Rz02}1iĿMV϶y) S~%Ϧ׃\%5}g[xUakE|+ "!r[ۛΦĐmVT4TH%5];ۛ]1pww}}gc?X;lp_tEIe^,IUI!mXk{̶`Მ5@OD˃}/M/NgBⵎǒD$m9yd9k<^EI|7O[[%?T&Y gVmː<X2R}Mɇ[$qs/wVrJ,	osiծqyA|)א[߷R%kvWQviՐhC\r(mc x]*L7.9%u3`rT{5K5w|ɨAxIW[|P@ꨈ>7CF^ڂ7	iTϑuM,Xژbdkbtx{OO<η~쎏2TBO*)KQy7*Ȣ]'0.Y$ai~\Wј5#	!
WmJD<T;.G#*U}[݋7PieгjLLbwu"shZ`)IL^Yɤ{/;oNa}yo?`χijeN̒ZĂ e-uDƤ:9N940CwQIٲ33A?;q)jtaʩ5oG_w\Wq!"I`|MSb15(3:z88E ~I4k,fW< )^	)SJLܲNڮzQ4,
|o=ʷFwACvj1BG?<?ܣn<Zug@~SRJ1Y0,t0G-x䌊Uls.~γd	#]{qB-63(6UpSouX_PY+xMK@ϙO1)[քmS]<إ Md`6LpRJ"҃/x"ItO
}&uy6뭸>}GX/Ba㑢}EਨT,	T-~'k'S=/ۂJ*5H%aJP)&T~I&[PO3iLoV	De-$ή=^l[ g<FĔuCIK.ϡz%5!Sj VXzѻb<*c*iFy Y\*=,b'؝/xuROzk h1?RݤCNҍӇ$;v.oe7O/Gg{zq8'eȜ?YK˰ex9Ru3U]v}uq2Cyrx340031QK,L/JeX
9N64h:*U/7a90';Z[tN Ffg=xŲe>  SxSVLK/(M.uPH/BK ?:7N	Lڐ1