MCP: refactored to use typed memoryviews

The arrays are stored on the mcp object, so that they can
be used in methods as well. Will use that to make MCP more
flexibel.