ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-23, Thursday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

MCP සර්වර් API එකේ ගොඩනැගීම් දෝෂය: requirements.txt පින් කිරීමත්, කොන්ට්‍රාක්ට් අස්ථිරත්වය

MCP සර්වර් API එකේ ගොඩනැගීම් දෝෂය: requirements.txt පින් කිරීමත්, කොන්ට්‍රාක්ට් අස්ථිරත්වය

2026 ජූලි 14 වෙනිදා, GitHub රෙපො එකක අඩුපාඩුවක් හමු කරමින්, මූලිකවම requirements.txt හි mcp[cli] පැකේජය අනියම්ව තිබුණි. ඒ නිසා නව ස්ථාපනයක් සිදු කළ විට, බ්‍රේකින් වෙනස් වුනාමත් අනතුරු ඇඟවීමක් නොලැබෙයි. ලේඛකයා එය mcp[cli]>=1.28.0,<2.0.0 ලෙස පින් කර, ගැටළුව විසඳා ගත්තේය කියා සිතුවේය.

නමුත්, සත්‍ය ගැටළුව ලයිබ්‍රරිය පින් කිරීමේ නොව, FastMCP සර්වර් එක මගින් සෑදෙන API කොන්ට්‍රාක්ට් (tool names, parameter shapes, docstrings) හි අනියම්වීමයි. සර්වර් එක server.py තුළ @mcp.tool() අලංකාරයෙන් ලියා ඇති ෆංක්ෂන් අත්පොතේ සිටම JSON Schema එකක් ගොඩනැගී, ඒක LLM (Large Language Model) එකට පෙන්වයි. එම Schema එකේ සංස්කරණය හෝ වෙනස් කිරීමේ ලේඛනයක්, ටෙස්ට් එකක්, හෝ CI පියවරක් නොමැතිව, සෑම විටම කේතය වෙනස් වීමත් සමඟම අලුත් වෙයි.

ඇයි මෙය වැදගත්? ත්‍රිත්වයක් මත, කේතයෙහි සුළු වෙනස්කම් (පරාමිතීන් නාම වෙනස් කිරීම, වර්ගය පුළුල් කිරීම/සංක්ෂිප්ත කිරීම, docstring සංස්කරණය) එකක් පවා සර්වර් එකේ Schema එක වෙනස් කරයි. ඒ වෙනස්කම් කිසිඳු පරීක්ෂාවකින් හෝ Git diff එකෙන් “API වෙනස් වීම” ලෙස නොපෙනේ; එය සාමාන්‍ය කේත සංස්කරණයක් ලෙස පෙනේ. ඒ නිසා පරණ කෑෂ් කර ඇති LLM හෝ client applications, අලුත් Schema එකට නොගැළපෙන අයුරින් කමන්ඩ් යවයි, හෝ අසමත් වේ.

ලේඛකයා පරීක්ෂා කළ විට, list_tools, inputSchema, get_schema යන වචන සොයාගත්තාද, ඒවා කිසිදු Python ගොනුවකද හෝ CI පියවරකද නොමැති බව පෙනී ආවේ. එනම්, මෙම සර්වර් එකේ “schema stability test” එකක් පවා නොමැත. ඒ නිසා, සැබැවින්ම කොන්ට්‍රාක්ට් වෙනස් වීමේ අවදානම සැලකිය නොහැකිව තිබේ.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ දැනුමත්, ව්‍යාපාරිකයින්ට පහත ලාභ ඇත:

  • විකාශකයින් – API contract එකේ ස්ථාවරතාවය පරීක්ෂා කිරීමේ පද්ධති ඇතුළත් කිරීම, පළපුරුදු ව්‍යාපෘති වල අස්ථිරතාවය අඩු කරයි.
  • ඉගෙනුම් ආයතන – සිසුන්ට “schema versioning” හා “contract testing” සංකල්පයන් ඉගැන්වීම, වෘත්තීය සුදානම වැඩි කරයි.
  • ව්‍යාපාර – සේවා නඩත්තු කාලය හා දෝෂ පරිමාණය අඩු කර, පාරිභෝගික විශ්වාසය වැඩි කරයි.

ඉදිරි කාලයේ, මෙම වර්ගයේ “hidden contract” ගැටළු වැලැක්වීමට, ස්වයංක්‍රීය schema snapshot tests, CI පියවරේ schema පරීක්ෂණ, සහ version‑pinned API specifications (OpenAPI වැනි) යොදා ගැනීම අත්‍යවශ්‍ය වේ.

අවසන් වශයෙන්, requirements.txt පින් කිරීමක් පමණක් නොව, API contract එකේ ස්ථාවරතාවයත් පරීක්ෂා කිරීම අත්‍යවශ්‍ය බව මෙය තවත් පෙන්වයි. සංවර්ධකයින්ට, CI/CD pipeline එකට schema validation එකක් එකතු කර, අනාගතයේ අවිශ්වාසනීය බ්‍රේකින් වෙනස්කම් වැළැක්වීමට හැකියාව ලැබේ.

💡 ඔබේ පද්ධතියේ API ස්ථාවරතාවය දැන්ම පරීක්ෂා කරන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#MCP #FastMCP #API #Python #DevOps