mirror of
https://github.com/aljazceru/goose.git
synced 2025-12-18 22:54:24 +01:00
Co-authored-by: Michael Neale <michael.neale@gmail.com> Co-authored-by: Wendy Tang <wendytang@squareup.com> Co-authored-by: Jarrod Sibbison <72240382+jsibbison-square@users.noreply.github.com> Co-authored-by: Alex Hancock <alex.hancock@example.com> Co-authored-by: Alex Hancock <alexhancock@block.xyz> Co-authored-by: Lifei Zhou <lifei@squareup.com> Co-authored-by: Wes <141185334+wesrblock@users.noreply.github.com> Co-authored-by: Max Novich <maksymstepanenko1990@gmail.com> Co-authored-by: Zaki Ali <zaki@squareup.com> Co-authored-by: Salman Mohammed <smohammed@squareup.com> Co-authored-by: Kalvin C <kalvinnchau@users.noreply.github.com> Co-authored-by: Alec Thomas <alec@swapoff.org> Co-authored-by: lily-de <119957291+lily-de@users.noreply.github.com> Co-authored-by: kalvinnchau <kalvin@block.xyz> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Rizel Scarlett <rizel@squareup.com> Co-authored-by: bwrage <bwrage@squareup.com> Co-authored-by: Kalvin Chau <kalvin@squareup.com> Co-authored-by: Alice Hau <110418948+ahau-square@users.noreply.github.com> Co-authored-by: Alistair Gray <ajgray@stripe.com> Co-authored-by: Nahiyan Khan <nahiyan.khan@gmail.com> Co-authored-by: Alex Hancock <alexhancock@squareup.com> Co-authored-by: Nahiyan Khan <nahiyan@squareup.com> Co-authored-by: marcelle <1852848+laanak08@users.noreply.github.com> Co-authored-by: Yingjie He <yingjiehe@block.xyz> Co-authored-by: Yingjie He <yingjiehe@squareup.com> Co-authored-by: Lily Delalande <ldelalande@block.xyz> Co-authored-by: Adewale Abati <acekyd01@gmail.com> Co-authored-by: Ebony Louis <ebony774@gmail.com> Co-authored-by: Angie Jones <jones.angie@gmail.com> Co-authored-by: Ebony Louis <55366651+EbonyLouis@users.noreply.github.com>
28 lines
982 B
TypeScript
28 lines
982 B
TypeScript
import type { MCPServer } from '../types/server';
|
|
|
|
export async function fetchMCPServers(): Promise<MCPServer[]> {
|
|
const baseUrl = import.meta.env.VITE_BASENAME || "";
|
|
try {
|
|
// Fetch all servers from the unified JSON file
|
|
const response = await fetch(`${baseUrl}servers.json`);
|
|
if (!response.ok) {
|
|
throw new Error('Failed to fetch servers');
|
|
}
|
|
|
|
const servers = await response.json();
|
|
return servers.sort((a, b) => b.githubStars - a.githubStars);
|
|
} catch (error) {
|
|
console.error('Error fetching servers:', error);
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
export async function searchMCPServers(query: string): Promise<MCPServer[]> {
|
|
const allServers = await fetchMCPServers();
|
|
const searchTerms = query.toLowerCase().split(' ').filter(term => term.length > 0);
|
|
|
|
return allServers.filter(server => {
|
|
const searchText = `${server.name} ${server.description}`.toLowerCase();
|
|
return searchTerms.every(term => searchText.includes(term));
|
|
});
|
|
} |