{"apiVersion":"v1","directorySlug":"sandchemistry-mcp-ffe890462e","title":"Sand Chemistry","description":"Predict organic chemistry reactions and explore step-by-step mechanisms. Type a reaction in plain English or SMILES — Sand Chemistry classifies the family, atom-maps the arrows, and walks you through every intermediate. Built for college-level orgo students.","pageUrl":"https://www.mcpbundles.com/skills/sandchemistry-mcp-ffe890462e","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://api.sandchemistry.com/mcp","hostedMcpUrl":null,"toolCount":16,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.sandchemistry/sandchemistry-mcp-ffe890462e","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"predict_reaction","description":"Predict the products of a reaction, with mechanism classification.","inputSchema":{"type":"object","required":["reactants"],"properties":{"reactants":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"conditions":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}}},"title":"Predict reaction products","logicalName":"predict_reaction","displayName":"Predict reaction products","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_mechanism","description":"Fetch the stepwise mechanism for an already-predicted reaction.","inputSchema":{"type":"object","required":["cache_key"],"properties":{"detail":{"enum":["summary","steps","full"],"type":"string","default":"steps"},"cache_key":{"type":"string"}}},"title":"Get reaction mechanism","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_mechanism","displayName":"Get reaction mechanism"},{"name":"render_molecule","description":"Draw a 2D structure from SMILES, as an image.","inputSchema":{"type":"object","required":["smiles"],"properties":{"width":{"type":"integer","default":300,"maximum":1000,"minimum":50},"height":{"type":"integer","default":200,"maximum":1000,"minimum":50},"smiles":{"type":"string"}}},"title":"Draw a molecule","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"render_molecule","displayName":"Draw a molecule"},{"name":"render_reaction","description":"Draw a reactants → products equation as an image.","inputSchema":{"type":"object","required":["reactants","products"],"properties":{"width":{"type":"integer","default":600,"maximum":1000,"minimum":100},"height":{"type":"integer","default":200,"maximum":1000,"minimum":50},"products":{"type":"string"},"reactants":{"type":"string"}}},"title":"Draw a reaction","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"render_reaction","displayName":"Draw a reaction"},{"name":"lookup_molecule","description":"Resolve any molecule identifier to a canonical SMILES plus names.","inputSchema":{"type":"object","required":["identifier"],"properties":{"identifier":{"type":"string","maxLength":500}}},"title":"Look up a molecule","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"lookup_molecule","displayName":"Look up a molecule"},{"name":"identify_functional_groups","description":"Name every functional group in a structure, with the atoms each covers.","inputSchema":{"type":"object","required":["smiles"],"properties":{"detail":{"enum":["names","atoms"],"type":"string","default":"atoms"},"smiles":{"type":"string","maxLength":500},"include_reagents":{"type":"boolean","default":false}}},"title":"Identify functional groups","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"identify_functional_groups","displayName":"Identify functional groups"},{"name":"validate_smiles","description":"Check a SMILES parses, and get its canonical form.","inputSchema":{"type":"object","required":["smiles"],"properties":{"smiles":{"type":"string","maxLength":500}}},"title":"Validate a SMILES string","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"validate_smiles","displayName":"Validate a SMILES string"},{"name":"search_content","description":"Search the lessons, curated practice problems and glossary at once.","inputSchema":{"type":"object","required":["query"],"properties":{"kinds":{"anyOf":[{"type":"array","items":{"enum":["lesson","practice","glossary"],"type":"string"}},{"type":"null"}],"default":null},"limit":{"type":"integer","default":8,"maximum":25,"minimum":1},"query":{"type":"string"}}},"title":"Search course content","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_content","displayName":"Search course content"},{"name":"list_lessons","description":"List every lesson: id, title, topic and how many sections it has.","inputSchema":{"type":"object","properties":{}},"title":"List lessons","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_lessons","displayName":"List lessons"},{"name":"get_lesson","description":"Read lesson content as markdown, with citations preserved.","inputSchema":{"type":"object","required":["lesson_id"],"properties":{"detail":{"enum":["outline","full"],"type":"string","default":"outline"},"section":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"lesson_id":{"type":"string"},"include_answers":{"type":"boolean","default":true}}},"title":"Read a lesson","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_lesson","displayName":"Read a lesson"},{"name":"get_lesson_part","description":"Read one 8-12 minute chunk of a lesson, with its goal and end quiz.","inputSchema":{"type":"object","required":["lesson_id"],"properties":{"part":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"lesson_id":{"type":"string"},"include_answers":{"type":"boolean","default":false}}},"title":"Read one part of a lesson","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_lesson_part","displayName":"Read one part of a lesson"},{"name":"grade_lesson_check","description":"Grade an answer to a lesson question, and name the error behind a wrong one.","inputSchema":{"type":"object","required":["check_id","answer"],"properties":{"answer":{"type":"string"},"check_id":{"type":"string"}}},"title":"Grade a lesson question","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"grade_lesson_check","displayName":"Grade a lesson question"},{"name":"get_molecule_map","description":"Get a molecule-mapping exercise: name the group in each highlighted region.","inputSchema":{"type":"object","properties":{"map_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"include_answers":{"type":"boolean","default":false}}},"title":"Get a functional-group mapping exercise","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_molecule_map","displayName":"Get a functional-group mapping exercise"},{"name":"get_glossary_term","description":"Get the course's own definition of a term, plus related terms.","inputSchema":{"type":"object","required":["term"],"properties":{"term":{"type":"string","maxLength":200}}},"title":"Look up a term","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_glossary_term","displayName":"Look up a term"},{"name":"get_practice_problems","description":"Get curated multiple-choice practice problems.","inputSchema":{"type":"object","properties":{"count":{"type":"integer","default":5,"maximum":20,"minimum":1},"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"difficulty":{"anyOf":[{"enum":["easy","medium","hard"],"type":"string"},{"type":"null"}],"default":null},"exclude_ids":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"include_answers":{"type":"boolean","default":false}}},"title":"Get practice problems","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_practice_problems","displayName":"Get practice problems"},{"name":"grade_practice_answer","description":"Grade an answer to a curated practice problem. The authority on correctness.","inputSchema":{"type":"object","required":["problem_id","answer"],"properties":{"answer":{"type":"string"},"problem_id":{"type":"string"}}},"title":"Grade a practice answer","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"grade_practice_answer","displayName":"Grade a practice answer"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Sand-Chemistry&config=eyJ1cmwiOiAiaHR0cHM6Ly9hcGkuc2FuZGNoZW1pc3RyeS5jb20vbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Sand-Chemistry%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.sandchemistry.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Sand-Chemistry%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.sandchemistry.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Sand+Chemistry&connectorUrl=https%3A%2F%2Fapi.sandchemistry.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Sand-Chemistry\" --url \"https://api.sandchemistry.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/sandchemistry-mcp-ffe890462e","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/sandchemistry-mcp-ffe890462e/tools/{tool}","mcpServerUrl":"https://api.sandchemistry.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/sandchemistry-mcp-ffe890462e?live=1"}