Package Exports
- freelancermap-mcp-server
- freelancermap-mcp-server/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (freelancermap-mcp-server) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
FreelancerMap MCP Server
A Model Context Protocol (MCP) server for searching freelance projects on freelancermap.de. This server enables AI assistants like Cursor to search and retrieve freelance project information with advanced filtering options.
π Features
- Advanced Search: Search projects by keywords, skills, location, and more
- Location Filtering: Filter by countries and specific cities
- Remote Work Options: Specify remote work percentage (0-100%)
- Duration Filtering: Filter by project duration in months
- Skill Matching: Search for specific technologies and skills
- Pagination Support: Automatically fetch multiple pages of results
- No Authentication Required: Anonymous search only
π Requirements
- Node.js 18.0.0 or higher
- Cursor IDE or compatible MCP client
π οΈ Installation
Option 1: Install from GitHub (Recommended)
# Clone the repository
git clone https://github.com/yourusername/freelancermap-mcp.git
cd freelancermap-mcp
# Install dependencies
npm install
# Build the project
npm run buildOption 2: Install via npm (when published)
npm install -g freelancermap-mcpπ§ Configuration
For Cursor IDE
Add the following configuration to your Cursor settings:
Windows/Linux: %APPDATA%\Cursor\User\globalStorage\cursor.mcp\mcp_config.json
macOS: ~/Library/Application Support/Cursor/User/globalStorage/cursor.mcp/mcp_config.json
{
"mcpServers": {
"freelancermap": {
"command": "node",
"args": ["/path/to/freelancermap-mcp/dist/index.js"],
"env": {}
}
}
}For Cursor CLI
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"freelancermap": {
"command": "node",
"args": ["/path/to/freelancermap-mcp/dist/index.js"],
"env": {}
}
}
}π― Usage
Once configured, you can use the MCP server in Cursor by asking questions like:
- "Find Python developer projects in Berlin"
- "Search for remote DevOps positions in Germany"
- "Get me the latest React projects with 6-month duration"
- "Find Cloud Engineer positions in Hamburg"
Available Parameters
- query (required): Search keywords or skills
- countries: Array of country names (e.g., ["Germany", "Austria"])
- locations: Array of specific cities or states
- remote: Remote work percentage (0-100)
- minDuration: Minimum project duration in months
- maxDuration: Maximum project duration in months
- skills: Array of specific skills or technologies
- maxResults: Maximum number of results (default: 50)
- autoFetchPages: Automatically fetch multiple pages (default: true)
π Example Searches
Basic Search
"Find Python projects in Germany"Advanced Search with Filters
"Search for DevOps positions in Berlin with 80% remote work and 6-month duration"Skill-Based Search
"Find projects requiring Kubernetes, Docker, and Terraform skills"ποΈ Development
Prerequisites
- Node.js 18+
- TypeScript
- Git
Setup Development Environment
# Clone the repository
git clone https://github.com/yourusername/freelancermap-mcp.git
cd freelancermap-mcp
# Install dependencies
npm install
# Start development mode (watch mode)
npm run dev
# Build for production
npm run build
# Test the server
npm testProject Structure
freelancermap-mcp/
βββ src/
β βββ api/ # API client and search logic
β βββ tools/ # MCP tool definitions
β βββ types.ts # TypeScript type definitions
β βββ index.ts # Main server entry point
βββ dist/ # Compiled JavaScript output
βββ package.json # Project configuration
βββ tsconfig.json # TypeScript configuration
βββ README.md # This fileπ§ͺ Testing
Test the MCP server manually:
# Test tool listing
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | npm start
# Test search functionality
echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "search_freelancermap_projects", "arguments": {"query": "Python", "countries": ["Germany"]}}}' | npm startπ Supported Countries
The server supports searching in the following countries:
- Germany (Deutschland)
- Austria (Γsterreich)
- Switzerland (Schweiz)
- United Kingdom (GroΓbritannien)
- USA (Vereinigte Staaten)
- Spain (Spanien)
- France (Frankreich)
- Hungary (Ungarn)
- Belgium (Belgien)
- Bulgaria (Bulgarien)
- Estonia (Estland)
- Canada (Kanada)
- Luxembourg (Luxemburg)
- Netherlands (Niederlande)
- Poland (Polen)
- Romania (RumΓ€nien)
- Saudi Arabia (Saudi Arabien)
π¨ Troubleshooting
MCP Server Not Connecting
- Check Node.js version: Ensure you're using Node.js 18.0.0 or higher
- Verify path: Make sure the path in your MCP configuration is correct
- Restart Cursor: Restart Cursor IDE after configuration changes
- Check logs: Look for error messages in Cursor's developer console
Build Issues
# Clean and rebuild
rm -rf dist/
npm run buildPermission Issues
# Make the script executable
chmod +x dist/index.jsπ License
This project is licensed under the MIT License - see the LICENSE file for details.
π€ Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
π Support
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Include error messages and your configuration
π Changelog
Version 1.0.0
- Initial release
- Basic project search functionality
- Advanced filtering options
- Multi-page result fetching
- Support for major European countries
π Acknowledgments
- freelancermap.de for providing the project data
- Model Context Protocol for the MCP specification
- Cursor for the amazing AI-powered IDE
Made with β€οΈ for the freelance community