| name | unit-conversion-nanoscale |
| description | Convert physical quantities and units at nanoscale for materials science and nanotechnology applications. |
| license | MIT license |
| metadata | {"skill-author":"PJLab"} |
Unit Conversion for Nanoscale
Usage
import asyncio
import json
from contextlib import AsyncExitStack
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession
class UnitClient:
def __init__(self, server_url: str, api_key: str):
self.server_url = server_url
self.api_key = api_key
self.session = None
async def connect():
:
.transport = streamablehttp_client(url=.server_url, headers={: .api_key})
._stack = AsyncExitStack()
._stack.__aenter__()
.read, .write, .get_session_id = ._stack.enter_async_context(.transport)
.session_ctx = ClientSession(.read, .write)
.session = ._stack.enter_async_context(.session_ctx)
.session.initialize()
:
():
:
(, ):
._stack.aclose()
()
Exception e:
()
():
:
(result, ) result.content:
json.loads(result.content[].text)
(result)
:
{: }
client = UnitClient(, )
client.connect()
nm_to_m =
angstrom_to_m =
length_nm =
length_m = length_nm * nm_to_m
length_angstrom = length_m / angstrom_to_m
()
eV_to_J =
energy_eV =
energy_J = energy_eV * eV_to_J
()
client.disconnect()