# അടിസ്ഥാന കാൽക്കുലേറ്റർ MCP സർവീസ് ഈ സർവീസ് മോഡൽ കോൺടെക്സ്റ്റ് പ്രോട്ടോക്കോൾ (MCP) വഴി അടിസ്ഥാന കാൽക്കുലേറ്റർ പ്രവർത്തനങ്ങൾ നൽകുന്നു. MCP നടപ്പാക്കലുകൾ പഠിക്കുന്ന തുടക്കക്കാർക്കായി ഇത് ഒരു ലളിതമായ ഉദാഹരണമായി രൂപകൽപ്പന ചെയ്തതാണ്. കൂടുതൽ വിവരങ്ങൾക്ക്, കാണുക [C# SDK](https://github.com/modelcontextprotocol/csharp-sdk) ## സവിശേഷതകൾ ഈ കാൽക്കുലേറ്റർ സർവീസ് താഴെപ്പറയുന്ന കഴിവുകൾ നൽകുന്നു: 1. **അടിസ്ഥാന ഗണിത പ്രവർത്തനങ്ങൾ**: - രണ്ട് സംഖ്യകളുടെ കൂട്ടിച്ചേർക്കൽ - ഒരു സംഖ്യയിൽ നിന്ന് മറ്റൊന്ന് കുറയ്ക്കൽ - രണ്ട് സംഖ്യകളുടെ ഗുണനം - ഒരു സംഖ്യയെ മറ്റൊന്നാൽ വിഭജിക്കൽ (പൂജ്യം വിഭജിക്കൽ പരിശോധനയോടെ) ## `stdio` തരം ഉപയോഗിക്കൽ ## കോൺഫിഗറേഷൻ 1. **MCP സർവറുകൾ കോൺഫിഗർ ചെയ്യുക**: - നിങ്ങളുടെ വർക്ക്‌സ്പേസ് VS കോഡിൽ തുറക്കുക. - MCP സർവറുകൾ കോൺഫിഗർ ചെയ്യാൻ നിങ്ങളുടെ വർക്ക്‌സ്പേസ് ഫോൾഡറിൽ `.vscode/mcp.json` ഫയൽ സൃഷ്ടിക്കുക. ഉദാഹരണ കോൺഫിഗറേഷൻ: ```jsonc { "inputs": [ { "type": "promptString", "id": "repository-root", "description": "The absolute path to the repository root" } ], "servers": { "calculator-mcp-dotnet": { "type": "stdio", "command": "dotnet", "args": [ "run", "--project", "${input:repository-root}/03-GettingStarted/samples/csharp/src/calculator.csproj" ] } } } ``` - GitHub റിപോസിറ്ററി റൂട്ട് നൽകാൻ ആവശ്യപ്പെടും, ഇത് `git rev-parse --show-toplevel` കമാൻഡ് ഉപയോഗിച്ച് ലഭ്യമാക്കാം. ## സർവീസ് ഉപയോഗിക്കൽ MCP പ്രോട്ടോക്കോൾ വഴി സർവീസ് താഴെപ്പറയുന്ന API എൻഡ്‌പോയിന്റുകൾ തുറക്കുന്നു: - `add(a, b)`: രണ്ട് സംഖ്യകൾ കൂട്ടിച്ചേർക്കുക - `subtract(a, b)`: രണ്ടാമത്തെ സംഖ്യ ആദ്യത്തെയിൽ നിന്ന് കുറയ്ക്കുക - `multiply(a, b)`: രണ്ട് സംഖ്യകൾ ഗുണിക്കുക - `divide(a, b)`: ആദ്യത്തെ സംഖ്യ രണ്ടാമത്തെയാൽ വിഭജിക്കുക (പൂജ്യം പരിശോധനയോടെ) - isPrime(n): ഒരു സംഖ്യ പ്രൈം ആണോ എന്ന് പരിശോധിക്കുക ## VS കോഡിൽ Github Copilot ചാറ്റ് ഉപയോഗിച്ച് പരീക്ഷിക്കുക 1. MCP പ്രോട്ടോക്കോൾ ഉപയോഗിച്ച് സർവീസിലേക്ക് അഭ്യർത്ഥന അയയ്ക്കാൻ ശ്രമിക്കുക. ഉദാഹരണത്തിന്, നിങ്ങൾ ചോദിക്കാം: - "Add 5 and 3" - "Subtract 10 from 4" - "Multiply 6 and 7" - "Divide 8 by 2" - "Does 37854 prime?" - "What are the 3 prime numbers before after 4242?" 2. ഇത് ടൂളുകൾ ഉപയോഗിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കാൻ പ്രോംപ്റ്റിൽ #MyCalculator ചേർക്കുക. ഉദാഹരണത്തിന്: - "Add 5 and 3 #MyCalculator" - "Subtract 10 from 4 #MyCalculator ## കണ്ടെയ്‌നറൈസ്ഡ് പതിപ്പ് മുൻപത്തെ പരിഹാരം .NET SDK ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെങ്കിൽ, എല്ലാ ആശ്രിതങ്ങളും സജ്ജമാണെങ്കിൽ മികച്ചതാണ്. എന്നാൽ, പരിഹാരം പങ്കുവെക്കാനോ വ്യത്യസ്ത പരിസ്ഥിതിയിൽ പ്രവർത്തിപ്പിക്കാനോ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, കണ്ടെയ്‌നറൈസ്ഡ് പതിപ്പ് ഉപയോഗിക്കാം. 1. Docker ആരംഭിച്ച് അത് പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക. 1. ഒരു ടെർമിനലിൽ നിന്ന് `03-GettingStarted\samples\csharp\src` ഫോൾഡറിൽ നാവിഗേറ്റ് ചെയ്യുക 1. കാൽക്കുലേറ്റർ സർവീസിനായി Docker ഇമേജ് നിർമ്മിക്കാൻ താഴെപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക (`` നിങ്ങളുടെ Docker ഹബ് യൂസർനെയിം ഉപയോഗിച്ച് മാറ്റുക): ```bash docker build -t /mcp-calculator . ``` 1. ഇമേജ് നിർമ്മിച്ചതിന് ശേഷം, Docker ഹബിലേക്ക് അപ്‌ലോഡ് ചെയ്യാം. താഴെപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക: ```bash docker push /mcp-calculator ``` ## Use the Dockerized Version 1. In the `.vscode/mcp.json` file, replace the server configuration by the following: ```json "mcp-calc": { "command": "docker", "args": [ "run", "--rm", "-i", "/mcp-calc" ], "envFile": "", "env": {} } ``` കോൺഫിഗറേഷൻ നോക്കുമ്പോൾ, കമാൻഡ് `docker` ആണെന്നും args `run --rm -i /mcp-calc` ആണെന്നും കാണാം. `--rm` ഫ്ലാഗ് കണ്ടെയ്‌നർ നിർത്തിയ ശേഷം അത് നീക്കം ചെയ്യാൻ സഹായിക്കുന്നു, `-i` ഫ്ലാഗ് കണ്ടെയ്‌നറിന്റെ സ്റ്റാൻഡേർഡ് ഇൻപുട്ടുമായി ഇടപഴകാൻ അനുവദിക്കുന്നു. അവസാന ആർഗ്യുമെന്റ് ഞങ്ങൾ നിർമ്മിച്ച് Docker ഹബിലേക്ക് പുഷ് ചെയ്ത ഇമേജിന്റെ പേര് ആണ്. ## Docker പതിപ്പ് പരീക്ഷിക്കുക `"mcp-calc": {` എന്നതിന്റെ മുകളിൽ ചെറിയ സ്റ്റാർട്ട് ബട്ടൺ ക്ലിക്ക് ചെയ്ത് MCP സർവർ ആരംഭിക്കുക, മുമ്പത്തെ പോലെ കാൽക്കുലേറ്റർ സർവീസിനോട് ഗണിതം ചെയ്യാൻ പറയാം. --- **അസൂയാ**: ഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖ അധികാരപരമായ ഉറവിടമായി കണക്കാക്കണം. നിർണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനം ഉപയോഗിക്കുന്നതിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ വ്യാഖ്യാനക്കേടുകൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.