{"_id":"@ariburaco/free-for-dev-mcp","_rev":"2-ffb4dd09c29f43885e6c303ba246fdd0","name":"@ariburaco/free-for-dev-mcp","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@ariburaco/free-for-dev-mcp","version":"1.0.0","keywords":["mcp","model-context-protocol","free-for-dev","developer-tools","semantic-search"],"author":{"name":"ariburaco"},"license":"MIT","_id":"@ariburaco/free-for-dev-mcp@1.0.0","maintainers":[{"name":"ariburaco","email":"ozdenaliburak@gmail.com"}],"homepage":"https://github.com/ariburaco/free-for-dev-mcp#readme","bugs":{"url":"https://github.com/ariburaco/free-for-dev-mcp/issues"},"bin":{"free-for-dev-mcp":"dist/index.js"},"dist":{"shasum":"9252fb9a624d9b6da334b48840905cd404eeeab8","tarball":"https://registry.npmjs.org/@ariburaco/free-for-dev-mcp/-/free-for-dev-mcp-1.0.0.tgz","fileCount":4,"integrity":"sha512-sAaQGUnLE/XjeXKbqidS0ngpfmqCVwhfle+XqV8sXuOr2il4cRqqtPAsXkB/LagsF/1KdHNT2QX7UteMnSDqhg==","signatures":[{"sig":"MEQCIG23v6J2En9B3V6gUiGKZvaBAzJ5qBj4H922O3bsO+tDAiBkT3UFLii7d9BE1f00yS7O/P+AOEd7QVGuRTLTdGd5VA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493222},"main":"dist/index.js","type":"module","module":"src/index.ts","gitHead":"af36e54e3d0bd62d85c11930f80502fbeda8e275","scripts":{"dev":"bun run --watch src/index.ts","test":"vitest","build":"bun build src/index.ts --outdir dist --target node --minify","start":"bun run dist/index.js","test:ui":"vitest --ui","test-mcp":"bun run test-mcp-connection.ts","typecheck":"tsc --noEmit","test-server":"bun run test-server.ts","test:coverage":"vitest --coverage","prepublishOnly":"bun run typecheck && bun run test && bun run build"},"_npmUser":{"name":"ariburaco","email":"ozdenaliburak@gmail.com"},"repository":{"url":"git+https://github.com/ariburaco/free-for-dev-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server providing semantic search for free developer tools and services","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.0.15","marked":"^16.1.2","fuse.js":"^7.1.0","lru-cache":"^11.1.0","@modelcontextprotocol/sdk":"^1.17.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","happy-dom":"^18.0.1","@types/bun":"latest","@vitest/ui":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.2.0","@types/marked":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/free-for-dev-mcp_1.0.0_1754560706874_0.42371275379020057","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ariburaco/free-for-dev-mcp","version":"1.0.1","description":"MCP server providing semantic search for free developer tools and services","main":"dist/index.js","module":"src/index.ts","type":"module","bin":{"free-for-dev-mcp":"dist/index.js"},"keywords":["mcp","model-context-protocol","free-for-dev","developer-tools","semantic-search"],"author":{"name":"ariburaco"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ariburaco/free-for-dev-mcp.git"},"scripts":{"start":"bun run dist/index.js","dev":"bun run --watch src/index.ts","build":"bun build src/index.ts --outdir dist --target node --minify","typecheck":"tsc --noEmit","test":"vitest","test:ui":"vitest --ui","test:coverage":"vitest --coverage","test-server":"bun run test-server.ts","test-mcp":"bun run test-mcp-connection.ts","prepublishOnly":"bun run typecheck && bun run test && bun run build","release":"./scripts/release.sh","release:patch":"./scripts/release.sh patch","release:minor":"./scripts/release.sh minor","release:major":"./scripts/release.sh major"},"devDependencies":{"@types/bun":"latest","@types/marked":"^6.0.0","@types/node":"^24.2.0","@vitest/ui":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.9.2","vitest":"^3.2.4"},"dependencies":{"@modelcontextprotocol/sdk":"^1.17.1","fuse.js":"^7.1.0","lru-cache":"^11.1.0","marked":"^16.1.2","zod":"^4.0.15"},"_id":"@ariburaco/free-for-dev-mcp@1.0.1","gitHead":"7d8de8f2237a22aebd649b6a9db557eee8938e23","bugs":{"url":"https://github.com/ariburaco/free-for-dev-mcp/issues"},"homepage":"https://github.com/ariburaco/free-for-dev-mcp#readme","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-tos97zSKSI+jbKhnvsg+OS8AP52H6ThayhECVzRNyuT0lZS92k6xVIFnmpofsxh3qT+aL4OLmRk4FiLNGvpBKQ==","shasum":"dc7b8743a5ee62ae0f85f5e49bba4a2197b11cd3","tarball":"https://registry.npmjs.org/@ariburaco/free-for-dev-mcp/-/free-for-dev-mcp-1.0.1.tgz","fileCount":4,"unpackedSize":493877,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDLT3UtWMxa+dbYjWalzWC1Hgg81SZU3Swo4UqD1bO5GQIhALj/KpW5/3RcYxqKjUkFkYBznHXjGAZtm5D+M6u+ip9I"}]},"_npmUser":{"name":"ariburaco","email":"ozdenaliburak@gmail.com"},"directories":{},"maintainers":[{"name":"ariburaco","email":"ozdenaliburak@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/free-for-dev-mcp_1.0.1_1754562209162_0.11783027207885466"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-07T09:58:26.805Z","modified":"2025-08-07T10:23:29.560Z","1.0.0":"2025-08-07T09:58:27.266Z","1.0.1":"2025-08-07T10:23:29.364Z"},"bugs":{"url":"https://github.com/ariburaco/free-for-dev-mcp/issues"},"author":{"name":"ariburaco"},"license":"MIT","homepage":"https://github.com/ariburaco/free-for-dev-mcp#readme","keywords":["mcp","model-context-protocol","free-for-dev","developer-tools","semantic-search"],"repository":{"type":"git","url":"git+https://github.com/ariburaco/free-for-dev-mcp.git"},"description":"MCP server providing semantic search for free developer tools and services","maintainers":[{"name":"ariburaco","email":"ozdenaliburak@gmail.com"}],"readme":"# @ariburaco/free-for-dev-mcp\n\n[![npm version](https://badge.fury.io/js/@ariburaco%2Ffree-for-dev-mcp.svg)](https://www.npmjs.com/package/@ariburaco/free-for-dev-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA powerful Model Context Protocol (MCP) server that provides semantic search and intelligent access to the [free-for-dev](https://github.com/ripienaar/free-for-dev) repository - a comprehensive list of free services and tools for developers.\n\n## Features\n\n- 🔍 **Semantic Search**: Natural language search using Fuse.js for fuzzy matching\n- ⚡ **Smart Caching**: LRU cache for fast responses and persistent disk cache\n- 🎯 **Advanced Filtering**: Filter by categories, tags, and custom queries\n- 🤖 **AI-Optimized**: Designed specifically for LLM context consumption\n- 📊 **Rich Analytics**: Service popularity ranking and similarity matching\n- 🚀 **High Performance**: Built with Bun for blazing-fast execution\n\n## Installation\n\n### As an NPM Package\n\n```bash\nnpm install -g @ariburaco/free-for-dev-mcp\n```\n\n### From Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/ariburaco/free-for-dev-mcp.git\ncd free-for-dev-mcp\n\n# Install dependencies\nbun install\n\n# Build the server\nbun run build\n\n# Run the server\nbun start\n```\n\n## MCP Client Configuration\n\n### Claude Code\n\n**Quick setup with Claude Code:**\n```bash\nclaude mcp add free-for-dev -- npx @ariburaco/free-for-dev-mcp\n```\n\n### Cursor IDE\n\nAdd to your Cursor MCP configuration in the Cursor Settings\n\n```json\n{\n  \"mcpServers\": {\n    \"free-for-dev\": {\n      \"command\": \"npx\",\n      \"args\": [\"@ariburaco/free-for-dev-mcp\"]\n    }\n  }\n}\n```\n\n### VS Code with Continue\n\nAdd to your Continue configuration:\n\n```json\n{\n  \"models\": [...],\n  \"mcpServers\": {\n    \"free-for-dev\": {\n      \"command\": \"npx\",\n      \"args\": [\"@ariburaco/free-for-dev-mcp\"]\n    }\n  }\n}\n```\n\n### Custom MCP Client\n\n```javascript\nimport { Client } from '@modelcontextprotocol/sdk/client/index.js';\nimport { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';\nimport { spawn } from 'child_process';\n\nconst transport = new StdioClientTransport({\n  command: 'npx',\n  args: ['@ariburaco/free-for-dev-mcp']\n});\n\nconst client = new Client({\n  name: 'my-client',\n  version: '1.0.0'\n});\n\nawait client.connect(transport);\n\n// Use the tools\nconst result = await client.callTool({\n  name: 'semantic_search',\n  arguments: {\n    query: 'free cloud database with good limits',\n    limit: 5\n  }\n});\n```\n\n## Available Tools\n\n### 🔍 `semantic_search`\nAdvanced natural language search with fuzzy matching and relevance scoring.\n\n```typescript\n{\n  query: string;      // Natural language search query\n  category?: string;  // Filter by category\n  tags?: string[];    // Filter by tags\n  limit?: number;     // Max results (default: 10, max: 50)\n}\n```\n\n### 🔎 `search_services`\nTraditional keyword-based search.\n\n```typescript\n{\n  query?: string;     // Search query\n  category?: string;  // Filter by category\n  tags?: string[];    // Filter by tags\n  limit?: number;     // Max results (default: 10)\n}\n```\n\n### 🔗 `get_similar_services`\nFind services similar to a given service based on tags and category.\n\n```typescript\n{\n  serviceName: string;  // Name of the service\n  limit?: number;       // Max results (default: 5)\n}\n```\n\n### ⭐ `get_popular_services`\nGet the most comprehensive and popular free services.\n\n```typescript\n{\n  limit?: number;  // Number of services (default: 10)\n}\n```\n\n### 📁 `list_categories`\nList all available service categories.\n\n```typescript\n{\n  withCount?: boolean;  // Include service count per category\n}\n```\n\n### ℹ️ `get_service`\nGet detailed information about a specific service.\n\n```typescript\n{\n  name?: string;  // Service name\n  url?: string;   // Service URL\n}\n```\n\n### 🏷️ `list_tags`\nList all available tags across all services.\n\n### 📊 `get_stats`\nGet statistics about the service database and cache.\n\n### 🔄 `refresh_data`\nRefresh the data from the GitHub repository.\n\n## Examples\n\n### Finding Cloud Databases\n\n```javascript\n// Using semantic search for natural language queries\n{\n  \"tool\": \"semantic_search\",\n  \"arguments\": {\n    \"query\": \"cloud database with generous free tier\",\n    \"tags\": [\"database\"],\n    \"limit\": 5\n  }\n}\n```\n\n### Finding Similar Services\n\n```javascript\n// Find services similar to Supabase\n{\n  \"tool\": \"get_similar_services\",\n  \"arguments\": {\n    \"serviceName\": \"Supabase\",\n    \"limit\": 5\n  }\n}\n```\n\n### Getting Popular Services by Category\n\n```javascript\n// Get popular API services\n{\n  \"tool\": \"semantic_search\",\n  \"arguments\": {\n    \"query\": \"api\",\n    \"category\": \"APIs, Data, and ML\",\n    \"limit\": 10\n  }\n}\n```\n\n## Development\n\n```bash\n# Install dependencies\nbun install\n\n# Run in development mode\nbun run dev\n\n# Run tests\nbun test\n\n# Run tests with UI\nbun run test:ui\n\n# Check types\nbun run typecheck\n\n# Build for production\nbun run build\n```\n\n## Architecture\n\n- **Parser**: Fetches and parses the free-for-dev README from GitHub\n- **Search Engine**: Fuse.js-based semantic search with caching\n- **Cache Manager**: Two-tier caching (memory + disk) for optimal performance\n- **MCP Server**: Implements the Model Context Protocol with 9 specialized tools\n\n## Performance\n\n- ⚡ **Sub-second responses** for cached queries\n- 📦 **1,500+ services** indexed and searchable\n- 🔄 **24-hour cache** with automatic refresh\n- 💾 **Persistent cache** survives server restarts\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nMIT - See [LICENSE](LICENSE) file for details.\n\n## Credits\n\n- Data source: [free-for-dev](https://github.com/ripienaar/free-for-dev) by ripienaar\n- Built with [Model Context Protocol](https://modelcontextprotocol.io/) by Anthropic\n- Powered by [Bun](https://bun.sh/) runtime\n\n## Support\n\nFor issues and feature requests, please visit our [GitHub repository](https://github.com/ariburaco/free-for-dev-mcp).\n\n## NPM Package\n\n[![NPM](https://nodei.co/npm/@ariburaco/free-for-dev-mcp.png)](https://www.npmjs.com/package/@ariburaco/free-for-dev-mcp)\n","readmeFilename":"README.md"}