Skip to main content
Glama
ariburaco

@ariburaco/free-for-dev-mcp

by ariburaco

@ariburaco/free-for-dev-mcp

npm version License: MIT

A powerful Model Context Protocol (MCP) server that provides semantic search and intelligent access to the free-for-dev repository - a comprehensive list of free services and tools for developers.

Features

  • 🔍 Semantic Search: Natural language search using Fuse.js for fuzzy matching

  • ⚡ Smart Caching: LRU cache for fast responses and persistent disk cache

  • đŸŽ¯ Advanced Filtering: Filter by categories, tags, and custom queries

  • 🤖 AI-Optimized: Designed specifically for LLM context consumption

  • 📊 Rich Analytics: Service popularity ranking and similarity matching

  • 🚀 High Performance: Built with Bun for blazing-fast execution

Related MCP server: MCP SearXNG Enhanced

Installation

As an NPM Package

npm install -g @ariburaco/free-for-dev-mcp

From Source

# Clone the repository
git clone https://github.com/ariburaco/free-for-dev-mcp.git
cd free-for-dev-mcp

# Install dependencies
bun install

# Build the server
bun run build

# Run the server
bun start

MCP Client Configuration

Claude Code

Quick setup with Claude Code:

claude mcp add free-for-dev -- npx @ariburaco/free-for-dev-mcp

Cursor IDE

Add to your Cursor MCP configuration in the Cursor Settings

{
  "mcpServers": {
    "free-for-dev": {
      "command": "npx",
      "args": ["@ariburaco/free-for-dev-mcp"]
    }
  }
}

VS Code with Continue

Add to your Continue configuration:

{
  "models": [...],
  "mcpServers": {
    "free-for-dev": {
      "command": "npx",
      "args": ["@ariburaco/free-for-dev-mcp"]
    }
  }
}

Custom MCP Client

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
import { spawn } from 'child_process';

const transport = new StdioClientTransport({
  command: 'npx',
  args: ['@ariburaco/free-for-dev-mcp']
});

const client = new Client({
  name: 'my-client',
  version: '1.0.0'
});

await client.connect(transport);

// Use the tools
const result = await client.callTool({
  name: 'semantic_search',
  arguments: {
    query: 'free cloud database with good limits',
    limit: 5
  }
});

Available Tools

🔍 semantic_search

Advanced natural language search with fuzzy matching and relevance scoring.

{
  query: string;      // Natural language search query
  category?: string;  // Filter by category
  tags?: string[];    // Filter by tags
  limit?: number;     // Max results (default: 10, max: 50)
}

🔎 search_services

Traditional keyword-based search.

{
  query?: string;     // Search query
  category?: string;  // Filter by category
  tags?: string[];    // Filter by tags
  limit?: number;     // Max results (default: 10)
}

🔗 get_similar_services

Find services similar to a given service based on tags and category.

{
  serviceName: string;  // Name of the service
  limit?: number;       // Max results (default: 5)
}

⭐ get_popular_services

Get the most comprehensive and popular free services.

{
  limit?: number;  // Number of services (default: 10)
}

📁 list_categories

List all available service categories.

{
  withCount?: boolean;  // Include service count per category
}

â„šī¸ get_service

Get detailed information about a specific service.

{
  name?: string;  // Service name
  url?: string;   // Service URL
}

đŸˇī¸ list_tags

List all available tags across all services.

📊 get_stats

Get statistics about the service database and cache.

🔄 refresh_data

Refresh the data from the GitHub repository.

Examples

Finding Cloud Databases

// Using semantic search for natural language queries
{
  "tool": "semantic_search",
  "arguments": {
    "query": "cloud database with generous free tier",
    "tags": ["database"],
    "limit": 5
  }
}

Finding Similar Services

// Find services similar to Supabase
{
  "tool": "get_similar_services",
  "arguments": {
    "serviceName": "Supabase",
    "limit": 5
  }
}
// Get popular API services
{
  "tool": "semantic_search",
  "arguments": {
    "query": "api",
    "category": "APIs, Data, and ML",
    "limit": 10
  }
}

Development

# Install dependencies
bun install

# Run in development mode
bun run dev

# Run tests
bun test

# Run tests with UI
bun run test:ui

# Check types
bun run typecheck

# Build for production
bun run build

Architecture

  • Parser: Fetches and parses the free-for-dev README from GitHub

  • Search Engine: Fuse.js-based semantic search with caching

  • Cache Manager: Two-tier caching (memory + disk) for optimal performance

  • MCP Server: Implements the Model Context Protocol with 9 specialized tools

Performance

  • ⚡ Sub-second responses for cached queries

  • đŸ“Ļ 1,500+ services indexed and searchable

  • 🔄 24-hour cache with automatic refresh

  • 💾 Persistent cache survives server restarts

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT - See LICENSE file for details.

Credits

Support

For issues and feature requests, please visit our GitHub repository.

NPM Package

NPM

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/ariburaco/free-for-dev-mcp'

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