Publié il y a 1 heure
Software Engineer (4-month contract)
@ Fable
Toronto, Ontario
Salaire :
50 $–70 $ de l’heure
Responsabilités :
- Design and build MCP servers and AI integrations using the official TypeScript MCP SDK.
Résumé des exigences :
- Treat content returned by tools as untrusted, and guard against prompt injection and over-broad permissions.
- 3+ years of professional backend development experience, building and running production services and APIs.
- Experience designing, building and integrating REST APIs in production.
- Experience with automated testing, Git, code review and CI/CD, such as GitHub Actions.
- Clear communication, and the ability to work on your own and deliver at a fast pace.
- Ability to solve problems with a practical, customer-focused mindset.
Source et dates
Site carrière / système de candidatures · workable
- Date publiée par l’employeur
- 2026-11-13
- Première détection par notre source
- 2026-11-13
- Mise à jour du dossier source
- 2026-11-13
Ces dates décrivent le dossier source, pas une vérification en direct du recrutement. Consultez l’offre originale.
Fable
| Champ | Valeur |
|---|---|
| Offres sur Jobsy | 4 |
About Fable
Global enterprises work with Fable to make products more accessible for over one billion people who live with disabilities. Our customers include global leaders like Walmart, Slack, and Shopify. Fable was featured on the Forbes Accessibility 100 list in 2025, awarded Fast Company’s Most Innovative Companies in Design, and has received accolades from global entities like the World Summit Awards and the UN-endorsed Zero Project.
About the role
Fable is looking for a Software Engineer with hands-on AI experience to join our Product and Engineering team on a 4-month, full-time fixed-term contract, with possibility to extend based on project needs. You’ll design and build AI integrations using the Model Context Protocol (MCP) and related technologies, working across Fable’s platform and APIs.
By the end of the 4-month contract, you will have:
- Shipped production-ready AI integration features that customers can use.
- Set up secure authentication and access, so each customer reaches only their own data.
- Put tool evaluations and monitoring in place that show how well AI models use the tools you’ve built.
- Written setup guides and technical documentation that let customers and the team use and extend your work.
This is a hands-on role for an engineer who takes ownership, moves fast and ships to production. Reporting to the Director of Engineering, you’ll work closely with Product Management, senior engineers and Quality Engineering, and own your work from design through production.
We’re a remote-first company. You’ll work during regular business hours, Eastern time, Monday to Friday, so you can collaborate in real time with the team. You may also join us from time to time for in-person collaboration at our Toronto office. Preference will be given to candidates in the Greater Toronto Area (GTA). If you live outside the GTA and can travel for these meetings, we’d still like to hear from you!
Responsibilities
AI integration development
- Design and build MCP servers and AI integrations using the official TypeScript MCP SDK.
- Build MCP tools, resources and prompts that make platform data and actions available to AI assistants and agents.
- Implement remote transport (Streamable HTTP), and local transport (stdio) where needed, to the current MCP specification.
- Connect MCP tools to existing APIs and services, handling data mapping, pagination, retries, idempotency and rate limits.
- Keep tool versions and schemas stable as the server evolves, so customer setups keep working.
AI tool design and evaluation
- Design a small, well-organized set of tools based on what users want to do, not one tool per API endpoint.
- Write clear tool names, descriptions, input and output schemas, and error messages that AI models can act on.
- Build evaluations that test how reliably AI models pick and call each tool, and use the results to improve tool design.
- Test integrations across a range of MCP clients and with tools like MCP Inspector.
- Prototype new AI use cases quickly with product, and turn the strongest ones into production features.
Security and access
- Implement authentication and authorization for MCP servers, including OAuth 2.1, so agents can reach only what their user can reach.
- Treat content returned by tools as untrusted, and guard against prompt injection and over-broad permissions.
- Log which agent called which tool, without exposing sensitive customer data in logs or responses.
Delivery and engineering excellence
- Write clean, well-tested code, with unit and integration tests, and take part in code reviews.
- Deploy and run services on AWS through CI/CD pipelines.
- Monitor tool latency, failure rates and usage, not just overall server health.
- Write clear setup guides and technical documentation.
- Build with accessibility in mind, so what you ship works well for people who use assistive technology.
- Use AI-assisted development tools to deliver quickly while keeping quality high.
- 3+ years of professional backend development experience, building and running production services and APIs.
- Strong skills in JavaScript or TypeScript and Node.js.
- Experience designing, building and integrating REST APIs in production.
- Experience with automated testing, Git, code review and CI/CD, such as GitHub Actions.
- Clear communication, and the ability to work on your own and deliver at a fast pace.
- Ability to solve problems with a practical, customer-focused mindset.
- Demonstrated hands-on experience building with AI, including:
- Building AI tool integrations or agent tools.
- Integrating large language models (LLMs) into applications.
- Tool calling (function calling) and structured outputs.
- Prompt engineering and writing tool descriptions that models use reliably.
- Testing and evaluating AI behaviour.
- AI-assisted software development.
- Nice to haves:
- Working knowledge of OAuth 2.0 or 2.1, token-based authentication and access scopes.
- Experience with Express.js and the Serverless Framework.
- Experience with AWS services, such as Lambda, ECS or API Gateway, and with Docker.
- Experience with MongoDB.
- Experience with Auth0 or similar identity providers.
- Experience with AI agent frameworks and SDKs.
- Experience with JSON-RPC or other real-time communication protocols.
- Experience with Infrastructure as Code.
- Experience with observability and monitoring platforms.
- Experience building integrations with third-party SaaS tools.
- Knowledge of web accessibility (WCAG) or experience with assistive technology.
Our values
To lead, listen first
You amplify voices that are less often heard and create space for those voices to grow. The quality of an idea doesn't correlate with the loudness of someone's voice.
The brain is a muscle
If you're going to do something, you will do it well. Practice often and rest when needed. Give your mind what it needs to thrive.
Unlearn to learn
What did we learn growing up, and what do we need to unlearn? It's essential to understanding our personal bias and position so that we can grow.
What’s in it for you?
At Fable, you’ll join a collaborative and mission-driven environment where you’ll work with people who care deeply about building a more inclusive digital world.
Accessibility accommodations
Fable is an inclusive workplace. If you are facing any accessibility requirements or concerns regarding the hiring process or employment with us, please fill out this form or email us at [email protected] and include the subject line “Accessibility accommodation for Senior Software Engineer job application.”
Pay range
$50 – 70 an hour - The range is designed to reflect the range of skills and experience needed for the position and is subject to change. The final rate is based on relevant skills, experience, and internal equity. This posting reflects an existing vacancy. Artificial intelligence (AI) tools may be used to support part of the recruitment and selection process. However, all hiring decisions are made by our hiring managers.
Journal
Visible seulement par vous. Conservé sur cet appareil, et dans votre compte une fois connecté.