Discover WebSim projects, creators, and trending content with powerful search and filters. Inspect project details, screenshots, comments, and engagement stats to guide research and curation. Track user profiles and activity to surface influential creators and relevant assets.
A comprehensive Model Context Protocol (MCP) server for interacting with WebSim's public API. This server provides access to WebSim's ecosystem of projects, users, feeds, assets, and comments through standardized MCP tools.
Clone or download the server:
# If using from source
git clone https://github.com/minimax/websim-mcp-server.git
cd websim-mcp-server
Install dependencies:
npm install
Run the server:
npm start
The server is configured for direct deployment on Smithery. See the smithery.json file for deployment configuration.
Add to your Claude Desktop MCP configuration:
{
"mcpServers": {
"websim": {
"command": "node",
"args": ["/path/to/websim-mcp-server/server.js"],
"env": {}
}
}
}
Use the provided mcp.json configuration file:
# Copy mcp.json to your MCP configuration directory
cp mcp.json ~/.config/claude/mcp-servers/websim.json
| Tool | Description | Parameters |
|---|---|---|
get_project_by_id | Get project by ID | project_id: string |
get_project_by_slug | Get project by user/slug | user: string, slug: string |
list_all_projects | List all public projects | limit?: number, offset?: number |
list_user_projects | List projects for user | user: string, limit?: number, offset?: number |
get_project_revisions | Get project versions | project_id: string, limit?: number, offset?: number |
get_project_stats | Get project statistics | project_id: string |
get_project_descendants | Get related projects | project_id: string, limit?: number, offset?: number |
| Tool | Description | Parameters |
|---|---|---|
get_user | Get user profile | user: string |
get_user_stats | Get user statistics | user: string |
search_users | Search users | query: string, limit?: number, offset?: number |
get_user_following | Get user's follows | user: string, limit?: number, offset?: number |
get_user_followers | Get user's followers | user: string, limit?: number, offset?: number |
| Tool | Description | Parameters |
|---|---|---|
get_trending_feed | Get trending projects | limit?: number, offset?: number |
get_posts_feed | Get latest posts | limit?: number, offset?: number |
search_feed | Search feed with sorting | sort: string, search: string, limit?: number, offset?: number |
get_trending_rooms | Get trending rooms | limit?: number, offset?: number |
| Tool | Description | Parameters |
|---|---|---|
search_assets | Search for assets | query: string, limit?: number, offset?: number |
bulk_asset_search | Search multiple queries | assets: Array<{query: string, limit?: number}> |
search_relevant_assets | Find relevant assets | query: string, limit?: number |
get_related_keywords | Get keyword suggestions | query: string, limit?: number |
get_top_searches | Get top searches | limit?: number, offset?: number |
get_project_assets | Get project assets | project_id: string, version?: string |
| Tool | Description | Parameters |
|---|---|---|
get_project_comments | Get project comments | project_id: string, limit?: number, offset?: number |
get_comment_replies | Get comment replies | project_id: string, comment_id: string, limit?: number, offset?: number |
| Tool | Description | Parameters |
|---|---|---|
health_check | Check API connectivity | None |
// Tool call example
{
"tool": "get_project_by_id",
"arguments": {
"project_id": "abc123xyz789"
}
}
// Tool call example
{
"tool": "get_trending_feed",
"arguments": {
"limit": 10,
"offset": 0
}
}
// Tool call example
{
"tool": "search_users",
"arguments": {
"query": "developer",
"limit": 20,
"offset": 0
}
}
// Tool call example
{
"tool": "search_assets",
"arguments": {
"query": "game sprites",
"limit": 15
}
}
// Tool call example
{
"tool": "bulk_asset_search",
"arguments": {
"assets": [
{ "query": "game UI", "limit": 5 },
{ "query": "character sprites", "limit": 5 },
{ "query": "sound effects", "limit": 5 }
]
}
}
Copy .env.example to .env and customize:
# WebSim API Configuration
WEBSIM_API_BASE_URL=https://api.websim.com
WEBSIM_API_TIMEOUT=30000
# Server Configuration
MCP_SERVER_NAME=websim-mcp-server
MCP_SERVER_VERSION=1.0.0
# Logging
LOG_LEVEL=info
LOG_FORMAT=json
If WebSim provides a different API endpoint, update the configuration:
// In server.js, modify the WEBSIM_API_BASE constant
const WEBSIM_API_BASE = 'https://your-custom-api-endpoint.com';
The server includes a built-in health check system:
// Health check tool call
{
"tool": "health_check",
"arguments": {}
}
This checks:
The server provides comprehensive error handling:
{
"success": false,
"error": "Project not found",
"timestamp": "2025-10-28T01:41:35.000Z"
}
# Install dependencies
npm install
# Run in development mode
npm run dev
# Run tests
npm test
# Lint code
npm run lint
# Format code
npm run format
This MCP server wraps the WebSim public API. For detailed API documentation, visit:
GET /api/v1/projects - Project listingGET /api/v1/projects/{id} - Project detailsGET /api/v1/users/{user} - User profilesGET /api/v1/feed/trending - Trending contentGET /api/v1/search/assets - Asset searchMIT License - see LICENSE file for details.
For issues, questions, or contributions:
Built with ❤️ by MiniMax Agent
gigachadtrey/websimm-bb1c4ff6
githubdujianfeng/duke-book
gitwhy-cli/gitwhy
glass.cocktail/cocktail-glass
glebenjoy/dexscreener-mcp
globkurier-pl/mcp-server