{"apiVersion":"v1","directorySlug":"trynormalize-mcp-bc28b421ce","title":"Normalize","description":"Turn messy job descriptions into clean canonical titles and boolean search strings for LinkedIn Sales Navigator. Canonicalize and booleanize job titles in seconds.","pageUrl":"https://www.mcpbundles.com/skills/trynormalize-mcp-bc28b421ce","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://trynormalize.com/api/v1/mcp","hostedMcpUrl":null,"toolCount":12,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.trynormalize/trynormalize-mcp-bc28b421ce","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"get_connect_url","description":"Returns a one-time URL for the user to sign in or sign up and connect their account. After they open the link, use poll_connection with the code to get a short-lived token.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Get connect URL","logicalName":"get_connect_url","displayName":"Get connect URL","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"poll_connection","description":"After the user has opened the connect URL and signed in, call this with the code from get_connect_url to receive a short-lived JWT. For long-lived access they should use an API key from the dashboard.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["code"],"properties":{"code":{"type":"string","minLength":1}}},"title":"Poll connection","logicalName":"poll_connection","displayName":"Poll connection","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_plans","description":"Returns the list of available plans (free and paid) with quotas and prices.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Get plans","logicalName":"get_plans","displayName":"Get plans","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"canonicalize","description":"Parse a job description and return the best matching canonical job title.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["input"],"properties":{"debug":{"type":"boolean"},"input":{"type":"string","maxLength":500,"minLength":1},"exclude":{"type":"array","items":{"type":"string"},"maxItems":25},"include":{"type":"array","items":{"type":"string"},"maxItems":25}}},"title":"Canonicalize job title","logicalName":"canonicalize","displayName":"Canonicalize job title","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"booleanize","description":"Convert a job description into a boolean search string (OR/AND/NOT).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["input"],"properties":{"debug":{"type":"boolean"},"input":{"type":"string","maxLength":500,"minLength":1},"exclude":{"type":"array","items":{"type":"string"},"maxItems":25},"include":{"type":"array","items":{"type":"string"},"maxItems":25}}},"title":"Booleanize job title","logicalName":"booleanize","displayName":"Booleanize job title","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_usage","description":"Returns current usage and limits for the authenticated account.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Get usage","logicalName":"get_usage","displayName":"Get usage","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_checkout_url","description":"Returns a Stripe Checkout URL for the given plan. User opens the link to upgrade.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["planId"],"properties":{"planId":{"enum":["1k","2k","5k","10k","20k","50k","100k","250k","500k","1M","2M","5M","10M","20M"],"type":"string"}}},"title":"Get checkout URL","logicalName":"get_checkout_url","displayName":"Get checkout URL","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_billing_portal_url","description":"Returns a Stripe Customer Portal URL to manage subscription and payment method.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Get billing portal URL","logicalName":"get_billing_portal_url","displayName":"Get billing portal URL","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_bulk_job","description":"Returns status and progress for a bulk job. Use the job_id from bulk_canonicalize or bulk_booleanize.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"title":"Get bulk job status","logicalName":"get_bulk_job","displayName":"Get bulk job status","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"download_bulk_job","description":"Returns a note about the bulk job download. When status is DONE, the API streams the CSV; the client may need to open the URL in a browser or use the dashboard.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"title":"Download bulk job result","logicalName":"download_bulk_job","displayName":"Download bulk job result","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"bulk_canonicalize","description":"Submit a CSV for canonicalization. Pass file as base64-encoded string and column name. Returns job_id; use get_bulk_job to check status.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["fileBase64","column"],"properties":{"column":{"type":"string","minLength":1},"exclude":{"type":"string"},"fileBase64":{"type":"string"}}},"title":"Bulk canonicalize","logicalName":"bulk_canonicalize","displayName":"Bulk canonicalize","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"bulk_booleanize","description":"Submit a CSV for booleanization. Pass file as base64 and column name. Returns job_id; use get_bulk_job to check status.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["fileBase64","column"],"properties":{"column":{"type":"string","minLength":1},"exclude":{"type":"string"},"fileBase64":{"type":"string"}}},"title":"Bulk booleanize","logicalName":"bulk_booleanize","displayName":"Bulk booleanize","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Normalize&config=eyJ1cmwiOiAiaHR0cHM6Ly90cnlub3JtYWxpemUuY29tL2FwaS92MS9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Normalize%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Ftrynormalize.com%2Fapi%2Fv1%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Normalize%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Ftrynormalize.com%2Fapi%2Fv1%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Normalize&connectorUrl=https%3A%2F%2Ftrynormalize.com%2Fapi%2Fv1%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Normalize\" --url \"https://trynormalize.com/api/v1/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/trynormalize-mcp-bc28b421ce","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/trynormalize-mcp-bc28b421ce/tools/{tool}","mcpServerUrl":"https://trynormalize.com/api/v1/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/trynormalize-mcp-bc28b421ce?live=1"}