本工具致力于为常见分子提供可视化支持,具备分子结构分析与化学计算功能。用户可借助命令行接口与服务器交互,实现分子图像生成、属性查询以及数据库访问。
本工具可帮助用户轻松实现分子的可视化、属性查询等功能。通过命令行接口,用户能方便地与服务器交互,获取所需信息。
项目所需的第三方库已明确列于 requirements.txt 文件中:
mcp[cli]>=0.1.0
rdkit>=2023.3.1
pillow>=10.0.0
建议使用 Python 3.8 或更高版本进行安装和运行。
要启动分子可视化服务器,请执行以下命令:
python molecule_server.py
visualize_molecule --query <分子名称或SMILES字符串>
visualize_molecule_base64 --query <分子名称或SMILES字符串>
get_molecule_properties --query <分子名称或SMILES字符串>
list_common_molecules
get_smiles_for --name <分子名称>
molecule://{name}/info
molecule://{name}/structure
molecule://{name}/properties
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def visualize_aspirin():
server_params = StdioServerParameters(
command="python",
args=["aspirin_visualizer.py"],
env=None
)
async with stdio_client(server_params) as (stdin, stdout):
client = ClientSession(stdin, stdout)
await client.initialize()
# 调用可视化工具
result = await client.call_tool("visualize_molecule", {"query": "aspirin"})
# 保存图像文件
with open("aspirin_visualization.png", "wb") as f:
f.write(result.content[0].image.data)
async def get_caffeine_properties():
server_params = StdioServerParameters(
command="python",
args=["caffeine_analyzer.py"],
env=None
)
async with stdio_client(server_params) as (stdin, stdout):
client = ClientSession(stdin, stdout)
await client.initialize()
# 查询分子属性
result = await client.call_tool("get_molecule_properties", {"query": "caffeine"})
print(result.content[0].text)
本项目遵循 MIT 许可证,具体条款请参考 LICENSE 文件。
欢迎社区贡献!如需提交代码或问题,请访问我们的 GitHub 仓库 提交 Pull Request 或 Issues。