MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

A Rust embedded library for using an MCP23017 GPIO expander

Created 1/23/2026
Updated about 1 month ago
Repository documentation and setup instructions

MCP23017

Features

  • Written in safe Rust
  • no_std
  • Emulate a MCP23017 to use your micro controller as a MCP23017 (see the peripheral folder)
  • Use a MCP23017 (see the controller folder)

Examples

See the examples folder. The stm32 example shows using embassy-stm32 for how to use the peripheral crate with a i2c peripheral.

Status

I'm not actually interested in maintaining this anymore. An MCP23017 is not enough for my project's needs, so I'm going to use a custom protocol and take full advantage of having an STM32 as a GPIO expander. But feel free to make issues, pull requests, and things like:

  • Ask me any questions about the MCP23017 for your own uses / forks
  • If you have a better library or you have a fork of this library, let me know and I can link to that library and recommend that one instead.
Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/ChocolateLoverRaj/mcp23017
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "chocolateloverraj-mcp23017": { "command": "git", "args": [ "clone", "https://github.com/ChocolateLoverRaj/mcp23017" ] } } }