Skip to main content
Glama

Vibe Blocks MCP

VibeBlocksMCP_Companion.rbxm27.6 kB
<roblox!��  INST�FolderINST�ScriptPROP*(�NameVibeBlocksMCP_CompanionPROP�NamePluginPROP�j�.�<Source�.--[[ Plugin Main Script ]] local HttpService = game:Get'("#")3?Run21?Log1�") -- Added ��SERVER_URL = "http://��host:8000/p��_command" -- TODO: Make configurable��0POLLING_INTERVAL = 2 -- Seconds -- --- NEW: Result Reporting CQAtion(#--Y��RESULT_ENDPOINT�r\!_rj��Endpoint for sending ds back�?END�3�OLogg�?LOG��receive_studio_logs�Elogs2(ND��1.5 -- Minimum s�� between log�s to avoid spamM�MAX_LOG_BATCH_SIZE = 50Qaax log8�send in one batchm� logsToSend = {} -- Buffer�?1wai�to be sent|2isS��Logs = false -- Fla/�prevent concurrent�@Alast��ndTime = 0��� DEPollA� print("Vibe Blocks MCP Companion'�Loaded") t�Helper: �Back to Server -&{AfuncBsend0"To)�(requestId,��Data) if not � then ���: Error - CannoEX� without aU� ID.") return end Bq payloa�#�T_id =@1Id,=gADatae� his should be a table (will be JSON encoded) }y�success,P�dpcall(N(��a:JSONEY(�)�5) WdU�Failed to��04for!� ID " ..�Id .. ":�tostring(�)� Q is e��message here} � ���2 to��)�TpostS�Bpost���-- Use PostAsyncA�non-block�n7 n:1(� 2�, Enum.HttpContentType.ApplicationJson�!&DPOSThsto serv*�K):�"Maybe implement retry logic later if needed else4��fully posted�# :D end?End � findObjectFromPath(pathSq) -- S��! path traversal (game, workspace, or starts with� /)�Qrts =Of�:split("."%��:�firstPartLower = �q.lower(XQ[1]) ��Check if thel��explicitly�6 or�M ifl�= "game"� �� 1 ar.remove�1, 1MR� 'game' from �4 toUe-~I�"�.� �DDefaF1tarabsearch���or otherlqices (Sv�Storage, etc.)@2end�Tge��remaining2� for _,�Name in ipairss�) do if �i =&�:FindFirstChildRtName) ��� nil -- Path bec�rvalid �Dend . v��� �� to Convert Python/JSON value �Roblox Types --- -- R<As: rbValue,�M�(�!is�$on�E �" c�"Top�Type(propertyN��4���propName�CR or "] QSafe �bcasing�1. Determine Expected�� based on PQT Name)e,�Type = "unknown"� ��= "position" orOsize�velocity?rot" aorient� ��Vector3"�_colorA?Col@ _brickE QBrickJ� (fr& �!CF��material�OM&JOshap�opartty�formfactT�1Par�IQFormF5A map�  ��Add more specificp�erty -> type mappings_ � (e.g., UDim2, NumberSequenS1�2. Handle?Fsion&RInput::andL5Ainpu�! =�=of(�A ��(ifM1= "�1 ifa _1.x).n�_" and(y(z(� k  XN.new� �..y�z), nil �:[1]��/[2)3)#�T == 3��=[1]�/[2*3]�`rnil, "IpRforma� t�� {x,y,z} or array [1,2,3]."WnLexdrcorrectm+�d�R, gotJ ��� �:F� �-- Prefer {r,g,b}��(assume 0-1 range7 _JSON) r9/.g(b( �r..gb�-- Accept�]�(Psc zcs seemx�in 0-255��(common mistakL N9D �[1] > 1 or� 23�� 1WarL -���s2detk �for '"..� �.."'. Assuming�band us��lor3.fromRGB� $ �(math.floor�o[1]), 2 63])��� "�h �# E� =<(@phOred))' y(& ,�* � ��6-- Pa.new h�s^ r names/(rs grace92by t�ing grey � T k'%H�lU��B or �z"* N� 4�Support 12-w���,: [x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22] �2all �s = true�x$12� ��i = 1, 12��g[i]) ~ 9 ���b break q�G if 7MJ� Q.new(7! x ,B4B 56B7.89B/10/1�1�% 7�En�#12�s�L# s�4H�fs hereH P�R+Look� Q dictG �� �3�$foq�� -of�W_ ^�^�� s{X.sub(� b, 1, 5� REnum.4 --� dEnums ��enumTypeName,V6�UGet "W4, "�"� W! =�[g]vDnot  5bternal+2: U�R� U'" ..F�c.. "'"� j I9j�If it already�D�, try diI clookup�N� ��� 9 ��#+1= 3�j[2] ==��c�enumItem ([=!3]�a &?���% B�Enum item�t '" .. u�� in full�Cpath�� � d =�:� OD�VA-- T�sokup by%��#ly� QindexFT t#] :KC1ingFQ-- Al��tive: iterate through�S:GetE�1s()�qcompare��s (case-insensitive?����#lCxnot fin�� ��3 ���� ,� � �Benum� /, >"_,u�^ I���item.Value =��i  �_< Bwith��[ O)PO � yi�f~�� V�3. If no���tched or(ncwasn't�,� � the original EThis� 3bas[#s:�,=�, boolean�,+Is�Anon-Ky�erties ~�~  � x?nil��� ���YS�!�not happen��standard ��types, but catch anywayz �#UnS #ed}O@/�4end�5END5�� D>� �SetEnvironment(d>#Tatarget�r= data. � R G�requestId&�_id -- Extrac�#D ID acresult�!7%�Initializegp�" =Bnot ��vor not �1 orY(� |.>"�= "Missing/�'kf' or 'R�' in set_e]C"Q Em-��)B G!Id�%% K") &�Rt�Ss� ,$"Or��"� blower(Y�� == "light� �} 3*L*�[ uterrain�9 *�OfClass("T9i�Yrror(��� ��!�� V end)� Q�tesfinding\�q %��)m yeB2 �`$ =���+Bssig~Tfound# �C�- =0 ~Rv instanF�8|�&t�!�2 onA�..t.. ":")�3all�3ies�)�Xy�s�! � 4 ,cr3in �!"� Ns�&/er=U -- B[nDing ~-�Expand this lik"CeSet�?����  �[�6] =� �r - Set_.� �'B { ���t~ �C�  E/'"+ �� �PlaceholdQ-qcomplex�s��1("TH+` sH �'� ?yet��MSpU��(� � _M+ �7 � �w1errE�*2 -�* s)y��S1err��,�& ��|� :.�-�Finished�E �Cies X@�} �-- Still technically a/�rthe opeh1� qreport 's�l��/Qrk asF�ial failu�1any;-edNe`X(F = ";-aset on� Amoreg; .�"rGeneral��,t7+�sp�/f+��� -%#5�&� sCreateI� � Qclass�� '_nh&Yparen� %d or "W+WG)  3 or�1BRemptyb!( k)��� ! '1$a' in c�_G %� �Q-- Fi7"e ��M-/ =Z-1^26B �:" oq<forK�(N�7� 7_����5ingz � of '%s' under 1", g�*O)�:GetFullName())))�T, newR �Stinst = 2U.new({�Qnst.P�.�>,j5p. BAppl���sthe newst =  k# w yI%/�2%s"� \ �3 �,R,a=� a,U� � ?'�I��fails, wrap� ~�4�caught by outer pcall� * �|3ing w& 3@� ��)�  >&se�3"seK� e � |T;1 ^91 %If2 �� `aA 1 �Dafte]MsionE� �^1S ��/Yp �� were se?  g#� / =.��F� n�Wb GJpathq �� t C�dpath) � �. U To}��VY+�  =5 [ODele5 � 6 �� $no�&��9' 'Va' in d� D �9/���Zv�0� �X3 to�o� �f�# =[ �< ��W��O, er��:Destroy({7� =(� ndD�'K �:ingE h��58 8   ���_^(4')�1b� k�� ����' � ��;%3+4set�Cy on��� � ^-�� t SvE son '%s'� �7|� ��-- <<< Debug l�C9Vs >>>p2 -':�$of��2):" )J&Sdebug ,3@d� O CHttp� e@$} � "ifWe�T���z JSON:"��@ 1raw� ^ �p:aAttempd;Qdecod�  3 is!�^$To�=*��� +�v��-- Only a��i'%"an�)3 or��� X8'�,,}S[" or8+ {����,d�:�  ?Dj .�( DFr�"Y|� WmKInfo���#�A to K� �,�* =��&4the?$1eadS� ALog !acoding� !edg"Smaybe9Dqn't hav�- �!Wag/!: o�rresemblg�ble/array,Zf�x`8$,X.g C/i�[( �i ��1doe�$ *�[`�. Procee �4raw��rp�qEND NEW���the incom7v(�the help��� ;)�1st�� -- Raise an�*>U� B�!#ed�c��P$� ����jS;�C 1set2 to_" o��c�sV�� � ���� rs�J��� ph � � � ~8Tc?Mov�YobjecdE i �?�s +0L ~��I&=) ~Ko L&w Z�' in mov'1{ EF ^{!�2".x�!A/.y%z%&i�2P��5 (e�7�x=num, yz=num})h��� [Cmove����"CnewP�) =@@ �!.xKTD�yzwf�$3eMoving �b� �!$if��IsA("Model") �&�.PrimaryPa %n � G�8 �4� �:�U!I.new�J * (h)- .�� f>���BasePart")/�:�H W �1("TN" i$!a %j ��@ nZ �D/ orF� Cmove� ��O m�y�� �bOClon�)1newL�1new�� -- Optionalb.1/j�%5� �in clon����2�!�2[ 6S2 to/m/�0F��EClon�DW�!U�,4J:�( a/P� 5p; STU � c I�%�1;( �T�#."�QAHandORtrenting_�#+;#�& 1 =�I#if�%Cv�rK#edr#���$if�66S )� ])�$"S��>,Sound,�#�!I x9_�G%2set�E�8v=���I[#�sarent o �I\E�,R �I)$(?*& s� -- Clean upG � �s set to�(�ma�' 52 or�8�X1namU�Vy�T4�OName  N�" Q � 0"�set name �?) *� -- Don't d�B the�hB"(A was��(ly��  �n���� - Using dMU4nam�#�! ��If we reat;AhereM G\Rmajor�,~.� �� 9d/ �� ==���$(�$ �;�Cthen�9P�9._T 7).�end -- Includ�Nw�i�EQ. New,cance a�3� � �$$ (I#or��;u-<���4CJ-Mc �!sac�� �+%<Cod%;cod%ZU� J1typ�"� �.F����:/ j��$"?^��;" '2��3cod& �_nF�#ifB&~= <andRLocalyc_type'1q�.. ". Must be '\Wm'A�� �h#"� �6 n:� �4�)vi&D0�!%s�d4 A0] �.� l �� �N0��*�5, Q0�E) '�# =]�si C�>� � -� Clast�-s<Gq��6PGB�; G  E�m �)' 7�u 3- �:\�R0� �) �G�t . ]ea�SpawnNpc��modelAsse�C�_asset_idp�templaten��_8 �7� 7�$, A2�validated later~G%� �40 1�j1}1and�Ohn N��M���spawn_npc�����c1��C-- VM��&�f provide��� ��6 �Btabl`�6?X NY 2��:-�� ") ^N�-�Gturn6 ��S7'��1npc�Cload�S, loa�m'�sLoad or�2NPC�V ��[X �ring NPC�]@3 ID��]�� 4 �rinsertS�G. =�HI!�(:D* =BQ:Load� �!4+'u'�#�GetChildren(+1�_turn %�[1] else�-#[J h#U�Y2 �B = "�rloadingv�k�0" 6 �4if � u) !byM0+�/_$) �zo 9*D T} ����{����VyW�Kh �� `s/w�,P �6 du"h>�"� |$x �to obtain a� fBc NPC."� ug f2Q�  O�1Set"j1, P� IR�#Usetup4�E a ��%$�#�Y�1 -?��h �);@�1%to n��5 if�\�%��%z Z%& =N7Get7�%n�%I�5 -�#edayYK��%&�&� � 4� �V�� �Nsautomat�H!se3si�vA�&x�g�4 ��.� ��Fq, skippfB�_1J� ���� � ��!upEb(Name/K/u)��5f�)�I ) -R<<� 0PF%ti��I �s1  � D% S E~� mw�����O+ !�if it exist�M��� $ fLDwithK!s.lmxJ[BScal� ��%G�Ccalejn��scale_factor�0yf����/_ <= 0� M�0Q c=� A��t?,��  �5@ �S� �H 52 toH:�%XQJ_LW,<B� �M �[!ca�8R�=2by {Y %.2fr/���(�h/�` ?Siz��ExtentsSiz�3�2@*��7�#To^YxSize.X)���hPB�S!d� �tF?���e7$� �s���?C�#;]�PlayAnimation>�t  >a<K]?_id>k����I�Q-j� =n�Y1_id=Uplay_���;;�H4 *����:\(����]�Humanoid") or�,��Controller") s��M4j��%�.. " doek43con��O or �#�1ion���"rbxassetid:// � /�i�APlay$A %s &",�,�CRDanim� �!"�H") *� � = "MCP_Temp* )���R �Strack�{Muor:Loadh(�� �%- Etemp_g1�� �e�?�5�^�h��w |QTrack�v�Cplay�R, pla _� PD:Pla4 zK4  � �Y6 = ��.e�aplayed1�� AtartD�[}- �m�p����G���� �� ]�SendChat� ��sxasender $� �^�future use �Feded�a�Cype(f R�)k ��P�T��end_chat[ �PoextCha� T#jt/� X�V��RBXSystem channel# ss|C)=� ^%("]� D; �(nn   � U_ ��� #�)1@>��SendAsynccmore g�^T�bing ��:;�F�o 31Dis��w�>���   �.9ent#q}I ���hS��k l01Teln2jPlayer�5 ���adestin����i_place�'w9=s'#_o\=U$wrcustomL S�0?_c_) N5,9pI~���Da�a�l�pPU' in 63�{j"#has�"Hs3"re#�QedFirc] �R#a:_ �T �B notGjp �V��_�ing only)l Y2run�|$�0j�$Tou! = / 1 �E��M �!\"$ O�f.. "\"! (�q� mmand run outside active�)(v7�5B, asti�might beFbin ediu*b intenAl�pF��Construct 7=([final(*&<jKype(�$ dž�#, yI�3 �"#F.new3�"e *=and`� �, =/Ku3key0N`k �Udo ��^qk�assignment,�2nee\b check�sai=�M��r[key] =(�V�Q�^ ��",seDQj1keyl4 �_){K�, xW �5�RSm��d�� �ing screenD+�S!1Gui> ! � b, =� �^4%� %� �5$")� �L3ipt�$ 'a �K in ��3X�cReset ��% ��.�LI�P{�:$e(o�i! %��l B %d"�,3= � �43J_�:�� (�' 2, {~�"},�;,\())� �/!\b initi�3{ 2forK�~�\ � Y�= � q� s� 2Set��"� z!3X w � 9� G�/�:� jX� _� �0 �)0N80/oT�$��'s character i=( �l� "=� /pa� 96�?Mod�/T�/6 in�� �V �c -- It�aalso b�tRgame.h&s[24].C'iX� �pace is usu�%Aafer��~! ��5the�1Roo��sVhrp =� X"8.4hrp�2hrpi�(��Mfind�7 in�B M ��*22/�)S�:�(� of %s's�`Q �9�bQ�f"t 4+��qly, pre��'s 4�� �ossible hrp.9=B "Q���� if anchoring issues: hrp�*u c�P�*bk�Rs� H= =�EFind� sJ�;�eEFind2c�9�mUFilte�'�� -- Can be�J:RnameC�s=Sname_��@�searchRoot�=�\_root�:]: '�)E = {� �y" }�E[y)�empty listK�cResult�5��K��)�# 6W  e{�Q = "S+2�7 c! }��V PFis�pq%s (%s) u7� ID %s",� C�t,�M�or "N/A")~�B - O5s: Ja='%s',1t8q6� or "any",,. �1\nJ���^< q:lower(l!#Z6fin�7Bfindh z�1 q�_, descendan�yik|�root:GetDV�<�-�� e���Match = r?=� �(�.[&==�r4�-�JZ<�!�Ename� ��;8ind�DName���� ?nil�"if�|� �S-- NoF�o serializ�Kj�E�asic inf�2 .�8(�.�B, { .Anamewc9�0��Q�:�/j �*�> }9endc�IBQ6 M v!du@>K��)PKB" -�cG� �T�|��ound %d match��_.", #�B��CSend�L$s �M3 ba�0fS��� �#oraM� ���p$NoD2_id�" i�_;B Can�4pora8�#."�FnR 2END�R +�hTList 0<| 6Lisa<h�k7rUL5Useh@~4 or�O�'�S �_id -- G=)V2 ID�aby the&�"er.P�.B��j �)rl� m ]�ferrMsg4= � A�(��)r{�C" ..l�R (*� ��1Lis� c�>� v ��� �� Y ,"Or)�   z6:Ge�?�K�s���, =�NSfor i�Z�>,� [KGPg >,�15,0 ,@ Z� - Found:9CPath�xj�Q� �H� ��Bm7l��^~d ?Lc�gJ�U���1�y� �� { )D ��Asult�$)���;�I:�� 3s) $D�reviously added�k�/ls@�Tlist_���#� ���5: S� R�} 1l���-compatible P�/Primitive�� -- -- NOTE: Defined glob*Tbefor��srs that2 |use it.�v �(M5&���o� 3= '�F'J�u {type=A, x=8S.X, y CY, z "Z}� _�^�-- Simplified 1 re�!nt!%4 (P�'+ ��fj 8sic�$Orq �full componentsS���?4posW�Elook}��'�fr={x=pos2pos�pos.Z}, lJ�={x=look) * OZ}} H(ol���3, r�CR, g CG, b B�QBrickE��a!�R��%Өj�'���E�<nil��� -- These t:�'ar�AJSON!�of�FTType,�)��heck if it's an ݘ $'%9�=Md)ML4KIf  eripR path ��2RBX[(�Connection� E!�, statusi.D/5d '�R'Disc\1ed'wB�r -- Add�*�s�": ��2, UDim2, Rect, Ray, Region3, Physicaӏ�� ��Fallback:� j�e3s aE �O }g ]x -] �6Get%��G�� � b�� k �C* ,� _� S�n� �pJp � K ��� �5 or�Dtin get_]jK� ��6�8�5 �7 ��� �a� s � �D#G% ��=%on f��-�5  h=�: �W� ;= = �5�vs[�]-  q� .Dr - Raw�'S type6 }  R�3theB2for��transporM( n,P0SN�&ifCU ��& =@� DH d�Dsentu t��(e k�\9(�� �h���L?ing|�� �a�%� ���_value� �i �� 2end�- n�"/��= A� i�}(�S|#� �zREdit � xBEdit/ $*��Q_path���]DCode�2+Gcode+3\� � _ �L���_���/+3�3 JjBPathh���= �z3"/Q at p�o�%�(0D t !")$9 �+"")! XhTJ{ " i�?a�(orL,��zn �_�1Edi<a��  �/er ��v�` �� (P� �+R= tru��4 -��source up)^@vfully."�� ��s� �l�:errh`K L����� ��#h �D��A�2��&i> ���GE�Î�G��� �|�  �'��4�3��nS�D �3 !a�Z>VuT#EN� �P#( RS�aimary �U Y W�PQ �  Hpart%2par�$y3k� {�F�E or �H4EO_par� J�  � .3�B)� M� V8 VModel  LP�� �i� FS9)v�$aE`� Nb�� �| �� �� U� �3par؂ 3+�B�P�7par���,1Of((T�a4N��!��*3 of53o �R �S� ����/to�� Y�%tT/=p� ؄1ot W@ ��_7f!�fRI��: ^#� VExecuo�in Studio =� "In: +� �G}�output_lin:�5{},qreturn_�s+f, -- E�3nil�=5lly9;_$J9}v���<b) ~= "�<� ��-klxCor iG�'XxR(must��`)pp �  �Q (Cod�_...)"x,�R.sub(�ACode�(50�W�2<<<��Prepend standar&�@N z5>>>@M "To�4e =��'4gam�H"\n�<<�%\"Q\")\n�kFCode�tb���"edƶsG/N�'."� �-- 1. Compil�� MODIFIED4� �c1adFunc,�#2ile�=�B.�%�P�Qn ��� �Z�SC2 9'*:"�H � ψPrepare N�Qfor e��ion (capture�7Q=!!dOv�! �QƃAPrin1�-- No longer�#�ave/restore)/� �w2�<<< RE-INTRODUCEϲ���populate tempEnv��\)Ss AND�Dh I�<p0�-- Copy essentialZ �?.m wz *s�x o&��M%33 =%3&(B3 = $(6 = ,$)�=$CEnum^� �8# =��$#"� % =7(�(( (�"[!��Dllow�bto use�" itselfFt�+ 2sel63 $AasseT $awarn =f�(�_warn?1# =�.34m��m]�61 �?blev��$�+/osrdebug =� " /(:our�DIRECTLY to th: @|% =+RJ(...F^�args = {...C#�linePart(%�2q = 1, #N�2o�2T,��(args[i]��05lin�i.conca\;"\t� � KW, linKzR:�S(" [�!d `?]:"@'"/"I 5the� ��setfenv(^� � 8>�E\1e u��$r(shouldEfrom�:nowWq��%,H K����)� C-- 5��$ss9 � E U � 8 8 �<  oRuntim@ �Ts) --�! iRV�bmessag= �d � ��s �Jelse���ib���sults contains�-� � S� � 4X�w31ValA2E("#";) }�9$al8' X�K$ >�j' ��&#ed��A �n�=!,|(�(��(bi $if|��q?t��� � d �1"Q): Y "",+=5!�/)}�� +���t  ��M", #=2, "a�O(s).�S� �"MRed noRsP   ���(���R_in_sC"�#4��o?-oModifyF?43 ��<X����NO�.0,r�(-�4Uis is��cparsed ��/r -> Lua� $/pS8m�Dj9�S_filt� ��3/0h�2_idvW�� ��affected_cou0 0�Aerro� �]�nil -- For fat�;o� �DaFind P<�����)� 9 � ����N[ �_ s�Y,�]p4� �C`�J�ToServer(�3Id,^ ��YI�2tur���� �U� w=���H�J"���B - �!s:J�Iq, Class �I%� or "Any"'7 0jA7�\�SName)� �bIterat�X# �|_�Sren =�>q,AK �?�@ \�HTBtrue�� bApply I! (ify2ands�3" ~�J8 e>2 *r(fa*E~ �If��"~=_I#lf�$If�� pass, ab|qmodificQ 1*if� |`FC&� �S �2 -��s\D � `]�  �-- Reuse & pzRlogic�!PF#+� H~�bToConv� 6)if85:�[� 3if =Jsub(}��, j����d\X(-)���-q #if�}D andD�B[table��"�sDecodeda ]��/."�2 /��O# �  �AWarn]5SAt�� looked likeT �array but����Ocode� � �h"W !eʭ2, cS="To�BT���9Z��$ifET �� 3�;SAssig7 x[QxName] =% 2."��>g�^��q%�1, > | 9+ 1�;H� K BFailo���heN�"�:SERRORi9v % . �5s� =G � #uHmf� 3. A� a: %d, "s:?` � � iO��8$� ��G% �c �` ; �7OyG2Mc� �# �FeZC�ga�uandData�Fav C�.[��Bing 1e ( }�$if&H== "�9[" j3obj^��e*Cprop_+�� ,dY,>�dR_�q - miss�iq � (A�r�\\rPG{ � ��Ak !to��%P��#th0RNOTE:Czsimple ��� approach won'�^!nep�Rpathsdgame.W�S.Parte"We� a�Jaraversh]9.-!LeFDdd a��3bfinder�dc�m(B �c ifu9} B���@�&h� ��� � [%s.%s] =U \��G;~)h`�vT�"1forR>A�j"nd\�^ ��#/ng  ����u -��'= 3Ctest4E� ,$o M�4." �M:� s2 ->�P)� ���5 #�N�Data.data�"Pa�� 'data' p#-���zVcreatM� zC#)z k�2)V k � �S+/ PI�M?mov�6MovƯ���W � �Q�,? P��(� K�?NpcG3cal�� I!ca/e_b9�Uplay_�y N ��2#x LSendChaK�ri{_playerMT�e6eN__posi��i� �Q � YO� N�JMEfindsO cQj= NuCK�(( M�^ �/ R��25� 8 \ �e/ *�ADD: New(2 ro� ��ؐ� Q== "mm � ~� u�MtUnknown��seceivedG �&))�M� �COMMAND_HANDLERS = { r? = l;, !) 3, A�)=D,{�&�8, v#p9, �$�9, �%�:, �& � !&y5, U!O1, q�+%:, $ �A�"�;, �# �F �- }:, �+ �7, �$�( H&���3�9?, }�[ �0 ��20.bGISTER*-r�-}�{QpollS� !()f��x� e� a befors L�tnot Runr1IsS.!$()� 1-- � �Companion�r(No!}a. Polld��isabled."Z ARedu�yi�4fsl,�!Ti�-�os.clock()��- lastPoll,�< POLLING_INTERVAL�fQ -- Do�poll too frequentk�) Q=nӅ� 5�ponseBody;:�HTTP GET rs�8�-- IMPORTANT32wil�� in Play Solo cli�w.Bd byo)��Q ��GetAsync(SERVER_URL)n)G�M��gnore specific�& e�Hwhen� ��bRerrSt�.�(II)Z�(x�/;[XRfind(dt, "HttpsRs can|#be[G4gambX=Zl'! i3, t#��NWM��� skipped (OC� contextR&e�o�Log other un�E* ���p���h�R��x-- Stop�iI4GET��for any reas��-Zx!fu�# 2d#', � ��*�� �. + lb� D;2ing?S�� X�Y)) --�i5msg���r(��d:�%��not empty �)ypE �$j8ext� )T!i\� w_~6ure0�4theL&�:9�"{"� 3": � _name", "data": { ... }, "U�_id": "..."�0zP�w.)=qm �*~+Id[�f ��&C R� �7 �KK�z� }R - Ra< ID:�"Id�"Lo�)IDD� - DataH rg��(��Optional: Log�CS if n�.�can be verbos $F �=and� [�]�21� �T F "8��8bdata f��br, ens�k`�_id is iY�d]�o?CData_) )�"(+� C�T s$��dwasn't<", � M oney4 ��.{}�015�/overwriten��ata passed�K ��.I=VI] D#--XS '�b�/? s�dt����F �'�S��D'�v���( O��,�)��2 ba�`�there's a� k� 3senBYg*{�B = " d�Q =�0. }� :  � -"7! TR�9! (A$ �1) in5Aponsf1fory2inglxsn.mBo��, q finish c � + �%or+�i  �!�01��2>Sfor ucBJ�����7� k � �*� �� ��-- Empty� �or non-tg(�data, likely just no�Zqueue�E�N@r ^ �s�� d �z2Log�!qing Fun�s �11 to@q bufferXB$gs�&1�:^)7ELogs~)w #is���Logs or #l%Tnd ==�6� �alreadyR�D1notPs� �� Z�-- Enforc�^�d interval�7tsLogSendwMSENDt /;�~�schedule a deferr�qnd heretbead ofXdropp�d� ).�� �� -- Update �9**:0 �Take a batch (up to MAX_LOG_BATCH_SIZE�#(E= {}`F2�math.min(�,K/;=>�1�7h", vremove(2, 1� BMove �2 to�8"--�</  �@s(avoidsjR spam� 1Verver1.>W�C", #�"+ T...")���,J9 F�#-Cjsonc _ xc� ":Pos#�LOG_ENDPOINT,],���HttpContentType.Ap�rionJson�.�� # . 1fulw��t(r �2LogBR!."3 e�!�p,=j?��l+1it'-0��client-sidcA�%�odt) �6%�6 is�o� �� m�H%do��or minimal log%�2MCPU�1: C�$ lH�blocked av�,#FT  warn��*� :;�)qSRetry�0�(keep this�"#@\R1, -1E G 3,1[i]F̌ d3DI�� are stilf�s left, immediately try�K n��H�9 �s cases whereRaccum:G�faster tha3�� allows clearing�:>9Qtask.z(���3calk3Log4l event�#on�$ROut(m #, /��-- Avoid logg�eur own�4ing3s�s�fL/,  A�+�/�logEntry = { V$ =y,;3g_t�q� )��0cEnum::�AType �� timestampr #�� for high-resolJ  =R } �>�,�)�Rrigge� � mechanism (non-�`�2 to��e it runs��%!ur'���HDThe b check�2sid�� B, soh1saf-�� always ���� ?END� rOnly ruI�ing loop�sconnectArvicWl}Studio ���-- TODO:"(�plugin button/UI late���& C�.Heartbeat:C�z4��0 � ��uStarted�cloop."� u� to Log ��n �.�&Ou���u�c��log forward���;�Oelse#5Not�' �8 (n�:)."~�>8~ �MQdefin�%��]above�eP- -- PRNT5�END </roblox>

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/majidmanzarpour/vibe-blocks-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server