MetaMCP can add OAuth MCP servers, and MetaMCP endpoint can use OAuth instead of API key (or both).
But with this part 1 version, OAuth MCP servers added in MetaMCP only cache the oauth session, and it only refreshes when you access it in the frontend of MetaMCP. And plan for part 2 is to let MetaMCP endpoint's OAuth detect expired frontend OAuth sessions and refresh them or redirect to their page to re-OAuth.
Credits to users for the discussions, testing, and debugging.