{"apiVersion":"v1","directorySlug":"curastem-mcp-3358f88fbb","title":"Curastem | 501(c)(3) nonprofit helping everyone get and keep","description":"Curastem is a U.S. 501(c)(3) nonprofit (EIN 39-2326761). Our mission is to help everyone get and keep a job they love.","pageUrl":"https://www.mcpbundles.com/skills/curastem-mcp-3358f88fbb","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.curastem.org/mcp","hostedMcpUrl":null,"toolCount":14,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"org.curastem/curastem-mcp-3358f88fbb","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"search_jobs","description":"Jobs — Search Worklittle job listings. People say Worklittle plus a role, city, company, or filters (or just 'jobs') — they will not name this tool. Call it whenever they want Worklittle jobs. Search by keyword, company, location, job type, seniority, or recency. Use for ANY industry (retail, finance, healthcare, tech, etc.). Search matches title and filter text (substring / FTS), not vector embeddings. Role / title text goes in query (+ optional keywords). The API matches job TITLE substrings o","inputSchema":{"type":"object","properties":{"limit":{"type":"number","maximum":50,"minimum":1},"query":{"type":"string","x-mcp-header":"Query"},"cursor":{"type":"string"},"company":{"type":"string","x-mcp-header":"Company"},"country":{"type":"string"},"keywords":{"type":"string"},"location":{"type":"string"},"near_lat":{"type":"number"},"near_lng":{"type":"number"},"radius_km":{"type":"number","maximum":500,"minimum":1},"salary_min":{"type":"number","minimum":0},"exclude_ids":{"type":"string"},"location_or":{"type":"string"},"exclude_remote":{"type":"boolean"},"workplace_type":{"enum":["remote","hybrid","on_site"],"type":"string"},"employment_type":{"enum":["full_time","part_time","contract","internship","temporary"],"type":"string"},"seniority_level":{"enum":["new_grad","entry","mid","senior","staff","manager","director","executive"],"type":"string"},"visa_sponsorship":{"enum":["yes","no"],"type":"string"},"posted_within_days":{"type":"number","minimum":0},"description_language":{"type":"string"}}},"title":"Jobs · Search Jobs","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_jobs","displayName":"Jobs · Search Jobs"},{"name":"search_companies","description":"Jobs — Search the Worklittle market company index by name or slug (ranked typeahead). Returns id, name, slug, logo_url, and enrichment fields for employers with open jobs. Use when the user names an employer and you need a real slug/id for search_jobs company= filters, job alerts, or automations. If zero hits, try alternate spellings or related employer names from further search_companies calls — do not invent company ids or slugs. If still empty, tell the user that employer is not in the index","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string"},"limit":{"type":"number","maximum":20,"minimum":1}}},"title":"Jobs · Search Companies","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_companies","displayName":"Jobs · Search Companies"},{"name":"load_more_job_cards","description":"Jobs — Fetch Job Cards for the current search (same filters as search_jobs). Omit cursor for the first page; pass next_cursor to page. Used by the Job Cards widget. Do not call from the model.","inputSchema":{"type":"object","properties":{"limit":{"type":"number","maximum":50,"minimum":1},"query":{"type":"string"},"cursor":{"type":"string"},"company":{"type":"string"},"country":{"type":"string"},"keywords":{"type":"string"},"location":{"type":"string"},"near_lat":{"type":"number"},"near_lng":{"type":"number"},"radius_km":{"type":"number"},"salary_min":{"type":"number"},"exclude_ids":{"type":"string"},"location_or":{"type":"string"},"exclude_remote":{"type":"boolean"},"workplace_type":{"type":"string"},"employment_type":{"type":"string"},"seniority_level":{"type":"string"},"visa_sponsorship":{"enum":["yes","no"],"type":"string"},"posted_within_days":{"type":"number"},"description_language":{"type":"string"}}},"title":"Jobs · Load More Job Cards","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"load_more_job_cards","displayName":"Jobs · Load More Job Cards"},{"name":"get_job_details","description":"Jobs — Fetch detailed information about a specific job, including full responsibilities, qualifications, and company details. Pass job_id from search_jobs when you have one. If the user asks for full details of a role without an id (e.g. the first software engineer job in Austin), pass query and optional location instead — the tool loads the first matching live listing.","inputSchema":{"type":"object","properties":{"query":{"type":"string"},"job_id":{"type":"string","x-mcp-header":"Job-Id"},"summary":{"type":"boolean"},"location":{"type":"string"}}},"title":"Jobs · Get Job Details","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_job_details","displayName":"Jobs · Get Job Details"},{"name":"get_job_keywords","description":"Jobs — Get skill and technology keywords from live Worklittle job data. Pass job_id for one posting. If the user asks what keywords show up for a role (resume tailoring, 'data scientist jobs', applications) and you do not have a job_id, pass query instead (optional location). Returns keywords plus keyword_count. Do not require a prior search when the question is about a role in general.","inputSchema":{"type":"object","properties":{"query":{"type":"string"},"job_id":{"type":"string"},"location":{"type":"string"}}},"title":"Jobs · Get Job Keywords","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_job_keywords","displayName":"Jobs · Get Job Keywords"},{"name":"get_market_overview","description":"Jobs — Returns aggregate job-market statistics from Worklittle. Call with no args for the full indexed market (counts, workplace mix, top hiring companies). When the user names a role and/or city (e.g. product managers in San Francisco), pass query and location. The filtered slice includes match count, top companies in the sample, and salary signals from listings that publish pay.","inputSchema":{"type":"object","properties":{"query":{"type":"string"},"location":{"type":"string"},"workplace_type":{"enum":["remote","hybrid","on_site"],"type":"string"}}},"title":"Jobs · Get Market Overview","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_market_overview","displayName":"Jobs · Get Market Overview"},{"name":"track_applied_job","description":"Jobs — Record that the API key owner saved, applied to, clicked Apply, or skipped a job. Use status saved for heart/save and skipped for deck Skip. Defaults to in_progress (apply / apply_with_ai) or applied (api).","inputSchema":{"type":"object","required":["job_id","job_title","company_name"],"properties":{"job_id":{"type":"string"},"method":{"enum":["apply","apply_with_ai","api"],"type":"string"},"status":{"enum":["saved","in_progress","applied","interview","offer","rejected","withdrawn","skipped"],"type":"string"},"apply_url":{"type":"string"},"job_title":{"type":"string"},"company_name":{"type":"string"}}},"title":"Jobs · Track Applied Job","logicalName":"track_applied_job","displayName":"Jobs · Track Applied Job","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_applied_job","description":"Jobs — Remove a job from the API key owner's personal saved-jobs pipeline (unheart / remove from Saved).","inputSchema":{"type":"object","required":["job_id"],"properties":{"job_id":{"type":"string"}}},"title":"Jobs · Delete Applied Job","logicalName":"delete_applied_job","displayName":"Jobs · Delete Applied Job","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_account","description":"Jobs — Return the connected Worklittle account when the user already linked via Connect. If they have not connected, return connected: false. Do not call this to search jobs, and do not ask them to Connect just to browse.","inputSchema":{"type":"object","properties":{}},"title":"Jobs · Get Account","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_account","displayName":"Jobs · Get Account"},{"name":"upload_resume","description":"Jobs — Upload the connected account's profile resume file (PDF, Word, text, or image). Used by Job Cards Apply resume gate before start_apply_with_ai. Requires jobs:apply.","inputSchema":{"type":"object","required":["filename","content_base64"],"properties":{"mime":{"type":"string"},"filename":{"type":"string"},"content_base64":{"type":"string"}}},"title":"Jobs · Upload Resume","logicalName":"upload_resume","displayName":"Jobs · Upload Resume","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_resume","description":"Jobs — Poll profile resume processing status after upload_profile_resume (ready | processing | idle | missing). Job Cards analyzing phase.","inputSchema":{"type":"object","properties":{}},"title":"Jobs · Get Resume","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_resume","displayName":"Jobs · Get Resume"},{"name":"delete_resume","description":"Jobs — Delete the connected account's profile resume file. Used by Job Cards You/Settings. Requires jobs:apply.","inputSchema":{"type":"object","properties":{}},"title":"Jobs · Delete Resume","logicalName":"delete_resume","displayName":"Jobs · Delete Resume","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_account","description":"Jobs — Patch the connected account's Settings profile fields (name, school, desired role, phone, links, work authorization, driver's license, interests). Used by Job Cards You overlay. Requires jobs:apply. Syncs to cloud for worklittle.com.","inputSchema":{"type":"object","properties":{"phone":{"type":"string"},"x_url":{"type":"string"},"you_name":{"type":"string"},"you_work":{"type":"string"},"github_url":{"type":"string"},"tiktok_url":{"type":"string"},"you_school":{"type":"string"},"youtube_url":{"type":"string"},"facebook_url":{"type":"string"},"linkedin_url":{"type":"string"},"instagram_url":{"type":"string"},"school_degree":{"type":"string"},"you_interests":{"type":"string"},"phone_national":{"type":"string"},"drivers_license":{"type":"string"},"huggingface_url":{"type":"string"},"phone_country_iso":{"type":"string"},"personal_website_url":{"type":"string"},"profile_clear_fields":{"type":"array","items":{"type":"string"}},"work_authorization_countries":{"type":"array","items":{"type":"string"}}}},"title":"Jobs · Update Account","logicalName":"update_account","displayName":"Jobs · Update Account","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"apply_for_job","description":"Jobs — Start applying to a catalog job (browser session) or submit a hosted Worklittle application. Pass job_id. Include name, email, and resume when applying to a hosted posting.","inputSchema":{"type":"object","required":["job_id"],"properties":{"job_id":{"type":"string","x-mcp-header":"Job-Id"},"auto_submit":{"type":"boolean"},"resume_html":{"type":"string"},"cover_letter_html":{"type":"string"}}},"title":"Jobs · Apply For Job","logicalName":"apply_for_job","displayName":"Jobs · Apply For Job","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Curastem-501-c-3-nonprofit-helping-everyone-get-and-keep&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuY3VyYXN0ZW0ub3JnL21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Curastem-501-c-3-nonprofit-helping-everyone-get-and-keep%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.curastem.org%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Curastem-501-c-3-nonprofit-helping-everyone-get-and-keep%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.curastem.org%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Curastem+%7C+501%28c%29%283%29+nonprofit+helping+everyone+get+and+keep&connectorUrl=https%3A%2F%2Fmcp.curastem.org%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Curastem-501-c-3-nonprofit-helping-everyone-get-and-keep\" --url \"https://mcp.curastem.org/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/curastem-mcp-3358f88fbb","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/curastem-mcp-3358f88fbb/tools/{tool}","mcpServerUrl":"https://mcp.curastem.org/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/curastem-mcp-3358f88fbb?live=1"}