chembl-molecule-search

Search ChEMBL database for molecule information by name to retrieve bioactivity data and chemical structures.

Best use case

chembl-molecule-search is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Search ChEMBL database for molecule information by name to retrieve bioactivity data and chemical structures.

Teams using chembl-molecule-search should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/chembl-molecule-search/SKILL.md --create-dirs "https://raw.githubusercontent.com/SpectrAI-Initiative/InnoClaw/main/.claude/skills/chembl-molecule-search/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/chembl-molecule-search/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How chembl-molecule-search Compares

Feature / Agentchembl-molecule-searchStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Search ChEMBL database for molecule information by name to retrieve bioactivity data and chemical structures.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# ChEMBL Molecule Search

## Usage

### 1. MCP Server Definition

```python
import asyncio
import json
from contextlib import AsyncExitStack
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession

class OrigeneClient:
    """Origene-ChEMBL MCP Client"""

    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(self):
        try:
            self.transport = streamablehttp_client(
                url=self.server_url,
                headers={"SCP-HUB-API-KEY": self.api_key}
            )
            self._stack = AsyncExitStack()
            await self._stack.__aenter__()
            self.read, self.write, self.get_session_id = await self._stack.enter_async_context(self.transport)
            self.session_ctx = ClientSession(self.read, self.write)
            self.session = await self._stack.enter_async_context(self.session_ctx)
            await self.session.initialize()
            return True
        except Exception as e:
            print(f"✗ connect failure: {e}")
            return False

    async def disconnect(self):
        """Disconnect from server"""
        try:
            if hasattr(self, '_stack'):
                await self._stack.aclose()
            print("✓ already disconnect")
        except Exception as e:
            print(f"✗ disconnect error: {e}")
    def parse_result(self, result):
        if isinstance(result, dict):
            content_list = result.get("content") or []
        else:
            content_list = getattr(result, "content", []) or []
        texts = []
        for item in content_list:
            if isinstance(item, dict):
                if item.get("type") == "text":
                    texts.append(item.get("text") or "")
            else:
                if getattr(item, "type", None) == "text":
                    texts.append(getattr(item, "text", "") or "")
        return "".join(texts)
```

### 2. ChEMBL Molecule Search Workflow

**Implementation:**

```python
## Initialize client
client = OrigeneClient(
    "https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL",
    "<your-api-key>"
)

if not await client.connect():
    print("connection failed")
    exit()

## Search for molecule by name
result = await client.session.call_tool(
    "get_molecule_by_name",
    arguments={
        "molecule_name": "aspirin"
    }
)

result_data = client.parse_result(result)
print(result_data)

await client.disconnect()
```

### Tool Descriptions

**Origene-ChEMBL Server:**
- `get_molecule_by_name`: Search ChEMBL for molecule information
  - Args:
    - `molecule_name` (str): Molecule name to search
  - Returns: ChEMBL molecule data including structure and bioactivity

### Use Cases

- Drug discovery research
- Bioactivity data retrieval
- Chemical structure lookup
- Target-based screening

Related Skills

substructure_activity_search

370
from SpectrAI-Initiative/InnoClaw

Substructure-Activity Relationship - Analyze substructure-activity: ChEMBL substructure search, activity data, PubChem compounds, and similarity. Use this skill for medicinal chemistry tasks involving get substructure by smiles search activity search pubchem by smiles calculate smiles similarity. Combines 4 tools from 3 SCP server(s).

scientific-literature-search

370
from SpectrAI-Initiative/InnoClaw

Search scientific literature and research papers using FlowSearch to find relevant academic articles and publications.

Researcher Rigor Gate

370
from SpectrAI-Initiative/InnoClaw

Use before plan submission, major plan revision, and major stage transitions. Verify alignment, feasibility, rigor, completeness, and prevent unjustified regressions to earlier workflow phases.

Researcher Replan And Recovery

370
from SpectrAI-Initiative/InnoClaw

Use when the workflow hits contradictions, missing evidence, failed runs, design flaws, or resource shifts. Diagnose the failure class, choose the narrowest safe correction, and escalate to the user when the core plan changes.

Researcher Plan Architect

370
from SpectrAI-Initiative/InnoClaw

Use when the Researcher must convert a confirmed scientific goal into a staged, executable research plan with role assignments, milestones, resources, checkpoints, and risk controls.

Researcher Dispatch Supervisor

370
from SpectrAI-Initiative/InnoClaw

Use after the user confirms the plan. Dispatch the next justified worker task, supervise progress, enforce artifact-backed completion, and keep the workflow aligned with the approved plan.

Researcher Context Audit

370
from SpectrAI-Initiative/InnoClaw

Use when the Researcher starts, resumes, or reaches a major decision point. Build a context inventory from workstation materials, prior messages, existing artifacts, requirements, and unfinished work.

Researcher Ambiguity Gate

370
from SpectrAI-Initiative/InnoClaw

Use when the research goal, evaluation target, scope, resources, timeline, or decision criteria are ambiguous, conflicting, or not operationally testable.

Research Ideation Full

370
from SpectrAI-Initiative/InnoClaw

Use when the user wants the full research ideation workflow grounded in one seed paper, including complete ideation, feasibility review, experiment planning, and final synthesis, or makes an equivalent ideation request in another language.

pubmed-article-search

370
from SpectrAI-Initiative/InnoClaw

Search PubMed database for scientific articles and publications to retrieve biomedical literature.

pubchem-smiles-search

370
from SpectrAI-Initiative/InnoClaw

Search PubChem database using SMILES strings to retrieve compound information and chemical properties.

protein_similarity_search

370
from SpectrAI-Initiative/InnoClaw

Protein Similarity Search - Search for similar proteins: extract sequence from PDB, search structures with FoldSeek, find homologs with STRING, and check UniProt. Use this skill for bioinformatics tasks involving extract pdb sequence foldseek search get best similarity hits between species search uniprotkb entries. Combines 4 tools from 3 SCP server(s).