To transform the shapefile geometries to shapely geometries (you can't build a MultiPoligon with a single point as in your solution)
from shapely.geometry import Point, shape
import fiona
for feat in fiona.open("mypoints.shp"):
print(shape(feat['geometry']))
POINT (270855.306991149 4458932.596754404)
POINT (270764.3725329859 4458995.357990075)
POINT (270854.1957680934 4458994.84736782)
POINT (270866.2151319417 4458994.87391199)
POINT (270866.2151319417 4458994.87391199)
POINT (270870.1540668578 4458992.662788996)
POINT (270872.9667142337 4458963.298747919)
POINT (270794.8588358188 4458943.977238521)
POINT (270762.3619021429 4458965.487104538)
POINT (270764.3725329859 4458995.357990075)
To construct a shapely MultiPoint geometry with all the points of the shapefile
from shapely.geometry import MultiPoint
import fiona
mpt = MultiPoint([shape(point['geometry']) for point in fiona.open("mypoints.shp")])
mpt.convex_hull.wkt
'POLYGON ((270855.306991149 4458932.596754404, 270794.8588358188 4458943.977238521, 270762.3619021429 4458965.487104538, 270764.3725329859 4458995.357990075, 270866.2151319417 4458994.87391199, 270870.1540668578 4458992.662788996, 270872.9667142337 4458963.298747919, 270855.306991149 4458932.596754404))
NEW save the resulting shapefile
The resulting geometry is a Polygon therefore
from shapely.geometry import mapping
geom = mpt.convex_hull # the shapely geometry
schema = { 'geometry': 'Polygon', 'properties': { 'name': 'str' } }
with fiona.open('mew.shp', 'w', 'ESRI Shapefile', schema) as output:
output.write({'properties': {'name': '0'}, 'geometry': mapping(geom)})