Software Engineer (4-month contract)
Fable
·Today
- Salary
- $50 – $70/hr
- Location
- Toronto, Ontario, Canada
- Workplace
- Remote
- Type
- Contract
- Department
- Engineering
- Experience
- 3+ years
- Source
- Workable
Description
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.