55 lines
2.0 KiB
PHP
55 lines
2.0 KiB
PHP
<x-layouts.app :title="$title" :description="$description" :canonical="$canonical">
|
|
@push('jsonld')
|
|
<script type="application/ld+json">
|
|
{!! json_encode([
|
|
'@@context' => 'https://schema.org',
|
|
'@type' => 'CollectionPage',
|
|
'name' => 'MCP Servers Directory',
|
|
'url' => $canonical,
|
|
]) !!}
|
|
</script>
|
|
@endpush
|
|
|
|
<h1 class="text-3xl font-bold tracking-tight">MCP Servers Directory</h1>
|
|
<p class="mt-2 text-neutral-600">A curated list of Model Context Protocol servers, with docs, install instructions, and config examples.</p>
|
|
|
|
<form action="{{ route('mcp-servers.index') }}" method="GET" class="mt-6">
|
|
<input
|
|
type="search"
|
|
name="q"
|
|
value="{{ $search }}"
|
|
placeholder="Search MCP servers…"
|
|
class="w-full rounded-lg border border-neutral-300 px-4 py-2 text-sm focus:border-neutral-900 focus:outline-none"
|
|
>
|
|
</form>
|
|
|
|
<nav class="mt-4 flex flex-wrap gap-2">
|
|
<a
|
|
href="{{ route('mcp-servers.index') }}"
|
|
class="rounded-full px-3 py-1 text-sm {{ $activeCategory === '' ? 'bg-neutral-900 text-white' : 'bg-neutral-100 text-neutral-700 hover:bg-neutral-200' }}"
|
|
>
|
|
All
|
|
</a>
|
|
@foreach ($categories as $slug => $label)
|
|
<a
|
|
href="{{ route('mcp-servers.category', $slug) }}"
|
|
class="rounded-full px-3 py-1 text-sm {{ $activeCategory === $slug ? 'bg-neutral-900 text-white' : 'bg-neutral-100 text-neutral-700 hover:bg-neutral-200' }}"
|
|
>
|
|
{{ $label }}
|
|
</a>
|
|
@endforeach
|
|
</nav>
|
|
|
|
<div class="mt-8 grid grid-cols-1 gap-4 sm:grid-cols-2">
|
|
@forelse ($servers as $server)
|
|
<x-mcp-server-card :server="$server" />
|
|
@empty
|
|
<p class="text-neutral-500 sm:col-span-2">No MCP servers found.</p>
|
|
@endforelse
|
|
</div>
|
|
|
|
<div class="mt-10">
|
|
{{ $servers->links() }}
|
|
</div>
|
|
</x-layouts.app>
|