1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8642],{98394:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/data-hub/console/mcp",function(){return n(93244)}])},8968:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var a=n(11527),r=n(87827),c=n(25067),i=n(25654),o=n(24925),s=n.n(o),l=n(69864);let p=[{hrefLang:"en",baseUrl:"https://www.octoparse.com"},{hrefLang:"ja",baseUrl:"https://www.octoparse.jp"},{hrefLang:"es",baseUrl:"https://www.octoparse.es"},{hrefLang:"de",baseUrl:"https://www.octoparse.de"},{hrefLang:"fr",baseUrl:"https://www.octoparse.fr"},{hrefLang:"it",baseUrl:"https://www.octoparse.it"},{hrefLang:"ko",baseUrl:"https://www.octoparse.kr"},{hrefLang:"x-default",baseUrl:"https://www.octoparse.com"}],d=e=>{let t=e.searchParams.getAll("page"),n=e.searchParams.getAll("pageSize"),a=new URLSearchParams;return t.forEach(e=>a.set("page",e)),n.forEach(e=>a.set("pageSize",e)),e.search=a.toString(),e.href};function u(e){let{title:t,keywords:n,description:o,ogTitle:u,ogDescription:m,ogKeyword:h,ogImage:f,twitterCard:g,twitterTitle:_,twitterDescription:x,robots:j,showCanonical:y=!0,preconnectStaticCdn:b=!1,showAlternates:v=!0,children:w}=e,{i18n:k}=(0,i.$G)(),A=(0,l.useRouter)(),N=new URL(A.asPath,r.o6),P=/^\/blog\/?/.test(A.pathname)?d(N):String(new URL(N.pathname,N.origin)),L=new URL(P),C="".concat(L.pathname).concat(L.search),S=A.asPath&&A.asPath.includes("template")?"template":A.asPath.includes("blog")?"blog":"public",R=f?(0,c.ZP)({src:f.startsWith("http")?f:new URL(f,r.o6).toString()}):(0,c.ZP)({src:new URL("".concat(c.Ll["fr-FR"],"/og/").concat(S,".png"),r.o6).toString()});return(0,a.jsxs)(s(),{children:[(0,a.jsx)("title",{children:t}),n&&(0,a.jsx)("meta",{name:"keywords",content:n}),o&&(0,a.jsx)("meta",{name:"description",content:o}),j&&(0,a.jsx)("meta",{name:"robots",content:j}),g&&(0,a.jsx)("meta",{name:"twitter:card",content:g}),_&&(0,a.jsx)("meta",{name:"twitter:title",content:_}),x&&(0,a.jsx)("meta",{name:"twitter:description",content:x}),b&&(0,a.jsx)("link",{rel:"preconnect",href:"https://static.octoparse.com"}),y&&(0,a.jsx)("link",{rel:"canonical",href:P}),y&&v&&!A.pathname.startsWith("/blog/")&&p.map(e=>{let{hrefLang:t,baseUrl:n}=e;return(0,a.jsx)("link",{rel:"alternate",hrefLang:t,href:new URL(C,n).toString()},t)}),(!w||f)&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{property:"og:image",content:R}),(0,a.jsx)("meta",{property:"twitter:image",content:R})]}),(0,a.jsx)("meta",{property:"og:site_name",content:"Octoparse"}),(!w||f)&&(0,a.jsx)("meta",{property:"og:type",content:"website"}),(0,a.jsx)("meta",{property:"og:title",content:u||t}),(0,a.jsx)("meta",{property:"og:description",content:m||""}),h&&(0,a.jsx)("meta",{property:"og:keyword",content:h}),(!w||f)&&(0,a.jsx)("meta",{property:"og:image:width",content:"1200"}),(!w||f)&&(0,a.jsx)("meta",{property:"og:image:height",content:"630"}),(0,a.jsx)("meta",{property:"og:url",content:P}),(0,a.jsx)("meta",{property:"og:locale",content:k.language}),w]})}},99880:function(e,t,n){"use strict";n.d(t,{Zb:function(){return o},vZ:function(){return s},yG:function(){return i}});var a=n(11527),r=n(67422),c=n.n(r);let i=e=>{let{title:t,desc:n,extra:r}=e;return(0,a.jsxs)("div",{className:"mb-6 flex items-center justify-between gap-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-2xl font-semibold leading-8 text-[#1f1f1f]",children:t}),n&&(0,a.jsx)("p",{className:"mt-1.5 text-sm leading-[22px] text-[#8c8c8c]",children:n})]}),r]})},o=e=>{let{children:t,className:n=""}=e;return(0,a.jsx)("section",{className:"rounded-2xl bg-white p-7 ".concat(n),children:t})},s=e=>{let{title:t,desc:n,action:r}=e;return(0,a.jsxs)("div",{className:"flex min-h-[280px] flex-col items-center justify-center gap-2 rounded-xl border border-dashed border-[#e2e5eb] bg-[#fcfcfd] p-6 text-center",children:[(0,a.jsx)("b",{className:"text-sm font-semibold text-[#595959]",children:t}),(0,a.jsx)("span",{className:"max-w-[440px] text-xs leading-[19px] text-[#8c8c8c]",children:n}),r&&(0,a.jsx)(c(),{href:r.href,className:"mt-1.5 rounded-lg border border-[#e2e5eb] bg-white px-5 py-2 text-sm text-[#1f1f1f] hover:border-[#c2c8d2] hover:text-primary",children:r.text})]})}},6730:function(e,t,n){"use strict";n.d(t,{Bk:function(){return h},I0:function(){return o},LR:function(){return m},NO:function(){return g},Qf:function(){return c},Y5:function(){return _},ei:function(){return u},h6:function(){return i},ix:function(){return s},nU:function(){return x},rS:function(){return r},wW:function(){return f}});var a=n(87827);let r=a.s8,c=a.w3,i=[{key:"discovery",labelKey:"mcpLanding.toolGroup.discovery"},{key:"runs",labelKey:"mcpLanding.toolGroup.runs"}],o=[{name:"search_data_apps",group:"discovery",descKey:"mcpLanding.tool.searchDataApps"},{name:"get_data_app_details",group:"discovery",descKey:"mcpLanding.tool.getDataAppDetails"},{name:"run_data_app",group:"runs",descKey:"mcpLanding.tool.runDataApp"},{name:"get_run_status",group:"runs",descKey:"mcpLanding.tool.getRunStatus"},{name:"get_run_result",group:"runs",descKey:"mcpLanding.tool.getRunResult"},{name:"cancel_run",group:"runs",descKey:"mcpLanding.tool.cancelRun"},{name:"list_runs",group:"runs",descKey:"mcpLanding.tool.listRuns"}],s=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.length?"".concat(r,"?pin=").concat(t.join(",")):r},l=function(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return"".concat(a?"// .cursor/mcp.json\n":"",'{\n "mcpServers": {\n "').concat(t,'": {\n "type": "http",\n "url": "').concat(e,'"').concat("apikey"===n?',\n "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }':"","\n }\n }\n}").concat("oauth"===n&&a?"\n// After saving, click the login button for this server in Cursor MCP settings and finish authorization in the browser":"")},p=(e,t,n)=>"oauth"===n?"# Run the following command in your terminal; sign in to your Octoparse account when prompted\nclaude mcp add ".concat(t,' "').concat(e,'" -t http\n# The first connection opens a browser to sign in; you can also type /mcp inside a session to trigger auth manually'):"# Replace <YOUR_API_KEY>
1 with your API key, then run in your terminal\nclaude mcp add ".concat(t,' "').concat(e,'" \\\n -t http --header "Authorization: Bearer <YOUR_API_KEY>"'),d=(e,t,n)=>"oauth"===n?"# Run the following commands to add the MCP server and finish browser authorization\ncodex mcp add ".concat(t,' --url "').concat(e,'"\ncodex mcp login ').concat(t," # Opens a browser to sign in to your Octoparse account"):'# Put your API key in an environment variable first, then add via CLI\nexport DATAHUB_API_KEY="<YOUR_API_KEY>"\ncodex mcp add '.concat(t,' --url "').concat(e,'" \\\n --bearer-token-env-var DATAHUB_API_KEY\n\n# Or edit ~/.codex/config.toml directly\n[mcp_servers.').concat(t,']\nurl = "').concat(e,'"\nbearer_token_env_var = "DATAHUB_API_KEY"'),u=e=>e.replace(/\//g,"__"),m=[{key:"json",label:"JSON",lang:"mcpServers config",snippet:(e,t,n)=>l(e,t,n)},{key:"claude-code",label:"Claude Code",lang:"Terminal",snippet:p},{key:"codex",label:"Codex",lang:"Terminal / config.toml",snippet:d},{key:"cursor",label:"Cursor",lang:".cursor/mcp.json",snippet:(e,t,n)=>l(e,t,n,!0)}],h=(e,t)=>"Install an MCP server named ".concat(t," (Streamable HTTP) in this client:\n- Server URL: ").concat(e,"\n- Authentication, pick one:\n 1. Recommended: set the request header Authorization: Bearer <API Key>. Ask me for the API key before writing the config. Do not commit the API key to a shared repo, and do not use a login access token (expires in ~24 hours) in place of an API key;\n 2. If I prefer not to provide a key and this client supports MCP OAuth login: leave credentials out of the config â the first connection returns a 401 challenge and automatically guides me through browser authorization.\n- Configure it the standard way for this client (mcp.json / config.toml / CLI are all fine). Only do the configuration; do not perform any other actions.\nWhen done, remind me to restart or reload the client (for the OAuth path, guide me through the browser login), and confirm that tools like search_data_apps and run_data_app are available."),f=(e,t)=>"# 1) Submit a run; for fast apps add ?wait=60 to wait for the terminal state directly\ncurl -X POST '".concat(c,"/v1/data-apps/").concat(e,"/runs?wait=60' \\\n -H 'Authorization: Bearer <YOUR_API_KEY>' \\\n -H 'Content-Type: application/json' \\\n -d '").concat(t,"'\n\n# 2) Long-running tasks: poll the run status (also supports ?wait= long polling)\ncurl -H 'Authorization: Bearer <YOUR_API_KEY>' \\\n '").concat(c,"/v1/runs/<run_id>'\n\n# 3) Fetch results: read with pagination, or export everything with format=jsonl / csv\ncurl -H 'Authorization: Bearer <YOUR_API_KEY>' \\\n '").concat(c,"/v1/runs/<run_id>/records?limit=50'"),g=(e,t)=>'# pip install bazhuayu-client\nfrom bazhuayu_client import Client\n\nwith Client(base_url="'.concat(c,'", api_key="<YOUR_API_KEY>") as client:\n run = client.call("').concat(e,'", ').concat(t,') # Submit and wait for the terminal state\n for record in client.iterate_records(run["run_id"]): # Auto-paginate through all results\n print(record)'),_=(e,t)=>'// npm install bazhuayu-client\nimport { Client } from "bazhuayu-client";\n\nconst client = new Client({ baseUrl: "'.concat(c,'", apiKey: "<YOUR_API_KEY>" });\nconst run = await client.call("').concat(e,'", ').concat(t,"); // Submit and wait for the terminal state\nfor await (const record of client.iterateRecords(run.run_id)) { // Auto-paginate through all results\n console.log(record);\n}"),x=e=>{let t=e.split("/").pop()||e;return"# JSONL: one record per line â good for streaming and incremental ingestion\ncurl -H 'Authorization: Bearer <YOUR_API_KEY>' \\\n '".concat(c,"/v1/runs/<run_id>/records?format=jsonl' > ").concat(t,".jsonl\n\n# CSV: fields selects columns, limit caps a single request at 10000 records\ncurl -H 'Authorization: Bearer <YOUR_API_KEY>' \\\n '").concat(c,"/v1/runs/<run_id>/records?format=csv&limit=10000' > ").concat(t,".csv")}},63130:function(e,t,n){"use strict";n.d(t,{r:function(){return x}});var a,r=n(25654),c=n(50959),i=n(64819),o=n(69753),s=n(85835),l=n(86674);let p=(e,t)=>{var n;return{id:(0,o.fj)(t),name:t.identity.name,summary:t.identity.summary,logo:(0,s.Rt)(t.labels),pricingLabel:(0,l.jx)(e,t.pricing),publisher:null!==(a=null===(n=t.publisher)||void 0===n?void 0:n.name)&&void 0!==a?a:"",savedAt:t.saved_at?Date.parse(t.saved_at):Date.now()}},d="datahub.favorites.v1",u=()=>{try{var e;let t=JSON.parse(null!==(e=window.localStorage.getItem(d))&&void 0!==e?e:"[]");if(!Array.isArray(t))return[];return t.map(e=>e&&"object"==typeof e?e.id:null).filter(e=>"string"==typeof e&&e.includes("/"))}catch(e){return[]}},m=()=>{try{window.localStorage.removeItem(d)}catch(e){}},h={revalidateOnFocus:!1,shouldRetryOnError:!1},f=()=>{let e=window.location.pathname+window.location.search;window.location.href="/api/auth?nextUrl=".concat(encodeURIComponent(e))};async function g(){let e;try{e=(await (0,o.oB)()).items}catch(e){if(e instanceof o.n&&"UNAUTHORIZED"===e.code)return null;throw e}let t=await _(e);return null!=t?t:e}async function _(e){let t=new Set(e.map(o.fj)),n=u().filter(e=>!t.has(e));if(!n.length)return m(),null;let a=await Promise.allSettled(n.map(e=>(0,o.zl)(e))),r=a.some(e=>"rejected"===e.status&&!(e.reason instanceof o.n));
1return r||m(),(await (0,o.oB)()).items}let x=()=>{let{t:e}=(0,r.$G)("data-hub"),{data:t,mutate:n}=(0,i.ZP)("datahub/favorites",g,h),a=(null!=t?t:[]).map(t=>p(e,t)),s=(0,c.useCallback)(e=>{let a="string"==typeof e?e:e.id;if(null===t){f();return}if(void 0===t)return;let r=t.some(e=>(0,o.fj)(e)===a),c=r?t.filter(e=>(0,o.fj)(e)!==a):[...t,j(a)];n(async()=>(await (r?(0,o.gk)(a):(0,o.zl)(a)),(await (0,o.oB)()).items),{optimisticData:c,rollbackOnError:!0,revalidate:!1}).catch(e=>{e instanceof o.n&&"UNAUTHORIZED"===e.code&&f()})},[t,n]);return{items:a,ready:void 0!==t,toggle:s,has:e=>a.some(t=>t.id===e)}},j=e=>{var t;let[,n=e]=e.split("/");return{namespace:null!==(t=e.split("/")[0])&&void 0!==t?t:null,app_name:n,status:"published",identity:{app_name:n,name:n,summary:""},discovery:{},saved_at:null}}},93244:function(e,t,n){"use strict";n.r(t),n.d(t,{__N_SSP:function(){return C}});var a=n(11527),r=n(8968),c=n(1129),i=n(99880),o=n(85835),s=n(69753),l=n(6730),p=n(63130),d=n(93253),u=n(64621),m=n(22258),h=n(92605),f=n(57866),g=n(67531),_=n(25654),x=n(15481),j=n.n(x),y=n(67422),b=n.n(y),v=n(69864),w=n(50959),k=n(24409),A=n.n(k);let N="octoparse_datahub",P=e=>{if(!e)return[];let t=Array.isArray(e)?e:[e];return[...new Set(t.flatMap(e=>e.split(",")).map(e=>e.trim()).filter(Boolean))]},L=e=>{var t;let{apps:n}=e,{t:c}=(0,_.$G)("open-platform"),{t:x}=(0,_.$G)("data-hub"),y=(0,v.useRouter)(),[k,L]=(0,w.useState)(""),[C,S]=(0,w.useState)([]),[R,I]=(0,w.useState)([]),[T,U]=(0,w.useState)(!1),[O,B]=(0,w.useState)(!1),[K,Y]=(0,w.useState)("json"),[z,E]=(0,w.useState)("apikey"),[H,D]=(0,w.useState)(!1),F=(0,w.useRef)(!1),{items:G,ready:q}=(0,p.r)(),M=(0,w.useMemo)(()=>new Set(G.map(e=>e.id)),[G]);(0,w.useEffect)(()=>{if(!y.isReady)return;let e=P(y.query.add).filter(e=>n.some(t=>(0,s.fj)(t)===e));e.length&&S(e)},[n,y.isReady,y.query.add]),(0,w.useEffect)(()=>{if(!F.current){F.current=!0;return}D(!0);let e=setTimeout(()=>D(!1),1200);return()=>clearTimeout(e)},[C]);let Z=(0,w.useMemo)(()=>n.filter(e=>(!O||M.has((0,s.fj)(e)))&&(0,o.i6)(e,k)),[n,O,M,k]),Q=(0,w.useMemo)(()=>n.filter(e=>C.includes((0,s.fj)(e))),[n,C]),W=(0,l.ix)(...Q.map(e=>(0,s.fj)(e))),X=null!==(t=l.LR.find(e=>e.key===K))&&void 0!==t?t:l.LR[0],$=X.snippet(W,N,z),J=Q.length>0,V=J?c("mcp.toolset.appCount",{count:Q.length}):c("mcp.toolset.default"),ee=J?(0,a.jsxs)(a.Fragment,{children:[c("mcp.configHint.boundPrefix"),(0,a.jsx)("b",{children:c("mcp.configHint.boundApps",{count:Q.length})}),c("mcp.configHint.boundSuffix")]}):c("mcp.configHint.default"),et=e=>{S(C.includes(e)?C.filter(t=>t!==e):[...C,e])},en=()=>{L(""),B(!1),I(C),U(!0)},ea=e=>{I(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},er=async(e,t)=>{await navigator.clipboard.writeText(e),g.N9.show({message:t,color:"green"})};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.Z,{title:c("mcp.meta.title"),description:c("mcp.meta.description")}),(0,a.jsx)(i.yG,{title:c("mcp.title"),desc:c("mcp.desc")}),(0,a.jsxs)("main",{className:A().content,children:[(0,a.jsxs)("section",{className:"".concat(A().configCard," ").concat(H?A().configFlash:""),children:[(0,a.jsxs)("div",{className:A().cardHeading,children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{children:c("mcp.config.title")}),(0,a.jsx)("p",{children:c("mcp.config.subtitle")})]}),(0,a.jsx)("span",{className:A().toolsetBadge,children:c("mcp.toolset.current",{label:V})})]}),(0,a.jsxs)("div",{className:A().authTabs,role:"tablist","aria-label":c("mcp.auth.ariaLabel"),children:[[["apikey",c("mcp.auth.apikey")],["oauth",c("mcp.auth.oauth")]].map(e=>{let[t,n]=e;return(0,a.jsx)("button",{type:"button",role:"tab","aria-selected":z===t,className:z===t?A().activeAuthTab:void 0,onClick:()=>E(t),children:n},t)}),(0,a.jsx)("span",{children:"apikey"===z?c("mcp.auth.apikeyDesc"):c("mcp.auth.oauthDesc")})]}),(0,a.jsxs)("div",{className:A().configNotice,children:[(0,a.jsx)("span",{children:ee}),H&&(0,a.jsx)("em",{children:c("mcp.configUpdated")})]}),(0,a.jsxs)("div",{className:A().configGrid,children:[(0,a.jsxs)("div",{className:A().configBlock,children:[(0,a.jsxs)("header",{children:[(0,a.jsx)("div",{className:A().clientTabs,role:"tablist","aria-label":c("mcp.client.ariaLabel"),children:l.LR.map(e=>(0,a.jsx)("button",{type:"button",role:"tab","aria-selected":K===e.ke
1y,className:K===e.key?A().activeClientTab:void 0,onClick:()=>Y(e.key),children:e.label},e.key))}),(0,a.jsxs)("button",{type:"button",onClick:()=>er($,c("mcp.copied.config",{client:X.label})),children:[(0,a.jsx)(d.KK,{})," ",J?c("mcp.copyToolsetConfig"):c("mcp.copyDefaultConfig")]})]}),(0,a.jsx)("div",{className:A().configLang,children:X.lang}),(0,a.jsx)("pre",{children:$})]}),(0,a.jsxs)("div",{className:A().configSide,children:[(0,a.jsxs)("div",{className:A().urlBlock,children:[(0,a.jsx)("b",{children:c("mcp.serverUrl")}),(0,a.jsx)("code",{children:W}),(0,a.jsx)(u.z,{variant:"default",leftSection:(0,a.jsx)(d.KK,{}),onClick:()=>er(W,c("mcp.copied.url")),children:c("mcp.copyUrl")})]}),(0,a.jsxs)("div",{className:A().promptBlock,children:[(0,a.jsx)("b",{children:c("mcp.prompt.title")}),(0,a.jsx)("span",{children:c("mcp.prompt.desc")}),(0,a.jsx)(u.z,{variant:"default",onClick:()=>er((0,l.Bk)(W,N),c("mcp.copied.installPrompt")),children:c("mcp.prompt.copy")})]})]})]}),(0,a.jsxs)("p",{className:A().authTip,children:[c("mcp.tip.generic"),"oauth"===z?(0,a.jsx)(a.Fragment,{children:c("mcp.tip.oauth")}):(0,a.jsxs)(a.Fragment,{children:[c("mcp.tip.apikey"),(0,a.jsx)(b(),{href:"/data-hub/console/api-keys",children:c("mcp.tip.viewKeys")})]})]})]}),(0,a.jsxs)("section",{className:A().toolsCard,children:[(0,a.jsxs)("div",{className:A().toolsHeader,children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("h2",{children:[c("mcp.tools.title")," ",(0,a.jsx)("span",{children:c("mcp.tools.optional")}),J&&(0,a.jsx)("span",{children:c("mcp.tools.selectedCount",{count:Q.length})})]}),(0,a.jsx)("p",{children:c("mcp.tools.desc")})]}),(0,a.jsx)(u.z,{onClick:en,children:c("mcp.addApp")})]}),(0,a.jsxs)("div",{className:A().fixedToolsPanel,children:[(0,a.jsxs)("header",{children:[(0,a.jsx)("b",{children:c("mcp.fixedTools.title")}),(0,a.jsx)("span",{children:c("mcp.fixedTools.hint")})]}),l.h6.map(e=>{let t=l.I0.filter(t=>
1t.group===e.key);return(0,a.jsxs)("div",{className:A().toolGroup,children:[(0,a.jsx)("div",{className:A().groupLabel,children:(0,a.jsx)("b",{children:x(e.labelKey)})}),(0,a.jsx)("div",{className:A().toolOptions,children:t.map(e=>(0,a.jsxs)("div",{children:[(0,a.jsx)("code",{children:e.name}),(0,a.jsx)("span",{children:x(e.descKey)})]},e.name))})]},e.key)})]}),Q.length?(0,a.jsx)("ul",{className:A().selectedChips,children:Q.map(e=>(0,a.jsxs)("li",{children:[(0,a.jsx)("span",{className:A().chipLogo,children:(0,o.Rt)(e.labels)?(0,a.jsx)(j(),{src:(0,o.Rt)(e.labels),alt:"",width:18,height:18}):(0,o.ng)(e.identity.name)}),(0,a.jsx)("span",{className:A().chipName,title:(0,o.l5)(e.labels).slice(0,2).join(" \xb7 ")||e.identity.summary,children:e.identity.name}),(0,a.jsx)("button",{type:"button","aria-label":c("mcp.removeApp",{name:e.identity.name}),onClick:()=>et((0,s.fj)(e)),children:(0,a.jsx)(d.XS,{})})]},(0,s.fj)(e)))}):(0,a.jsx)("p",{className:A().emptySelected,children:c("mcp.emptySelected")})]})]}),(0,a.jsxs)(m.u,{opened:T,title:c("mcp.picker.title"),size:720,onClose:()=>U(!1),children:[(0,a.jsx)("p",{className:A().modalHint,children:c("mcp.picker.hint")}),(0,a.jsxs)("div",{className:A().pickerToolbar,children:[(0,a.jsxs)("div",{className:A().quickFilters,role:"tablist","aria-label":c("mcp.picker.quickFilterAria"),children:[(0,a.jsxs)("button",{type:"button",role:"tab","aria-selected":!O,className:O?"":A().activeQuickFilter,onClick:()=>B(!1),children:[c("mcp.picker.all")," ",(0,a.jsx)("em",{children:n.length})]}),(0,a.jsxs)("button",{type:"button",role:"tab","aria-selected":O,className:O?A().activeQuickFilter:"",onClick:()=>B(!0),children:[c("mcp.picker.favorites")," ",(0,a.jsx)("em",{children:q?G.length:"â"})]})]}),(0,a.jsx)(h.o,{value:k,leftSection:(0,a.jsx)(d.l6,{}),rightSection:k?(0,a.jsx)(f.P,{size:"sm","aria-label":x("market.clearSearch"),onClick:()=>L("")}):void 0,placeholder:c("mcp.picker.searchPlaceholder"),onChange:e=>L(e.currentTarget.value)})]}),(0,a.jsx)("div",{className:A().appList,children:Z.map(e=>{let t=R.includes((0,s.fj)(e));return(0,a.jsxs)("label",{className:t?A().selectedApp:void 0,children:[(0,a.jsx)("input",{type:"checkbox",checked:t,onChange:()=>ea((0,s.fj)(e))}),(0,a.jsx)("span",{className:A().logo,children:(0,o.Rt)(e.labels)?(0,a.jsx)(j(),{src:(0,o.Rt)(e.labels),alt:"",width:24,height:24}):(0,o.ng)(e.identity.name)}),(0,a.jsxs)("span",{className:A().appInfo,children:[(0,a.jsx)("b",{children:e.identity.name}),(0,a.jsx)("small",{children:(0,o.l5)(e.labels).slice(0,2).join(" \xb7 ")||e.identity.summary})]}),(0,a.jsx)(b(),{href:(0,s.l6)(e),target:"_blank",rel:"noreferrer",onClick:e=>e.stopPropagation(),children:c("mcp.picker.viewDetails")})]},(0,s.fj)(e))})}),!Z.length&&(0,a.jsx)("div",{className:A().empty,children:O?c("mcp.picker.emptyFavorites"):c("mcp.picker.empty")}),(0,a.jsxs)("div",{className:"mt-4 flex justify-end gap-2",children:[(0,a.jsx)(u.z,{variant:"default",onClick:()=>U(!1),children:c("common.cancel")}),(0,a.jsx)(u.z,{onClick:()=>{S(R),U(!1)},children:c("mcp.picker.confirm",{count:R.length})})]})]})]})};L.getLayout=e=>(0,c.G)(e);var C=!0;t.default=L},24409:function(e){e.exports={page:"mcp_page__fdG2r",content:"mcp_content__zCNVl",configCard:"mcp_configCard__D_ORh",toolsCard:"mcp_toolsCard__bIBqu",configFlash:"mcp_configFlash__vUkRn","config-flash":"mcp_config-flash__3PBld",cardHeading:"mcp_cardHeading__ttosG",authTabs:"mcp_authTabs__BEOcQ",activeAuthTab:"mcp_activeAuthTab__7g27p",toolsetBadge:"mcp_toolsetBadge__FZXYt",configNotice:"mcp_configNotice__mrciQ",configGrid:"mcp_configGrid__OWvBD",configBlock:"mcp_configBlock___LukL",clientTabs:"mcp_clientTabs__u2x1d",activeClientTab:"mcp_activeClientTab__kYHhK",configLang:"mcp_configLang__pDXrl",configSide:"mcp_configSide__qxqkt",urlBlock:"mcp_urlBlock__fk4Ma",promptBlock:"mcp_promptBlock__0Oo1H",authTip:"mcp_authTip__DboLu",toolsHeader:"mcp_toolsHeader__52bzK",fixedToolsPanel:"mcp_fixedToolsPanel__thfLO",toolGroup:"mcp_toolGroup__yNqDz",groupLabel:"mcp_groupLabel__gV5P1",toolOptions:"mcp_toolOptions__KOi7X",selectedChips:"mcp_selectedChips__lAkPZ",chipLogo:"mcp_chipLogo__tr0Yj",chipName:"mcp_chipName__EecdA",emptySelected:"mcp_emptySelected__4e6CB",appList:"mcp_appList__2Ls_K",selectedApp:"mcp_selectedApp__Po3bA",logo:"mcp_logo__NYSs_",appInfo:"mcp_appInfo__pUZSi",empty:"mcp_empty__yclB9",modalHint:"mcp_modalHint__rtxHG",pickerToolbar:"mcp_pickerToolbar__4bGqO",quickFilters:"mcp_quickFilters__Yl6Fb",activeQuickFilter:"mcp_activeQuickFilter__yQ_L7"}},57193:function(e,t,n){"use strict";n.d(t,{k:function(){return c}}),n(50959),n(11527);var a=n(76882),r=n(99232);
1function c(e,t,n){let c=(0,a.w)(e,t,n),{label:i,description:o,error:s,required:l,classNames:p,styles:d,className:u,unstyled:m,__staticSelector:h,__stylesApiProps:f,errorProps:g,labelProps:_,descriptionProps:x,wrapperProps:j,id:y,size:b,style:v,inputContainer:w,inputWrapperOrder:k,withAsterisk:A,variant:N,vars:P,mod:L,...C}=c,{styleProps:S,rest:R}=(0,r.c)(C),I={label:i,description:o,error:s,required:l,classNames:p,className:u,__staticSelector:h,__stylesApiProps:f||c,errorProps:g,labelProps:_,descriptionProps:x,unstyled:m,styles:d,size:b,style:v,inputContainer:w,inputWrapperOrder:k,withAsterisk:A,variant:N,id:y,mod:L,...j};return{...R,classNames:p,styles:d,unstyled:m,wrapperProps:{...I,...S},inputProps:{required:l,classNames:p,styles:d,unstyled:m,size:b,__staticSelector:h,__stylesApiProps:f||c,error:s,variant:N,id:y}}}},52341:function(e,t,n){"use strict";n.d(t,{M:function(){return s}});var a=n(11527);n(50959);var r=n(19760),c=n(11460),i=n(57193);let o={__staticSelector:"InputBase",withAria:!0},s=(0,r.b)((e,t)=>{let{inputProps:n,wrapperProps:r,...s}=(0,i.k)("InputBase",o,e);return(0,a.jsx)(c.I.Wrapper,{...r,children:(0,a.jsx)(c.I,{...n,...s,ref:t})})});s.classes={...c.I.classes,...c.I.Wrapper.classes},s.displayName="@mantine/core/InputBase"},92605:function(e,t,n){"use strict";n.d(t,{o:function(){return s}});var a=n(11527);n(50959);var r=n(76882),c=n(10723),i=n(52341);let o={},s=(0,c.d5)((e,t)=>{let n=(0,r.w)("TextInput",o,e);return(0,a.jsx)(i.M,{component:"input",ref:t,...n,__staticSelector:"TextInput"})});s.classes=i.M.classes,s.displayName="@mantine/core/TextInput"}},function(e){e.O(0,[6841,5989,8827,1460,6919,1129,7255,9774,2888,179],function(){return e(e.s=98394)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.