<< All versions
Skill v1.0.1
currentAutomated scan100/100internscience/scp/kegg-gene-search
1 files
──Details
PublishedJune 13, 2026 at 09:59 AM
Content Hashsha256:83fc485859a9e000...
Git SHAcea539856403
Bump Typepatch
──Files
Files (1 file, 3.0 KB)
SKILL.md3.0 KBactive
SKILL.md · 117 lines · 3.0 KB
version: "1.0.1" name: kegg-gene-search description: Search KEGG database for gene information to retrieve pathway associations, functional annotations, and disease links. license: MIT license metadata: skill-author: PJLab
KEGG Gene Search
Usage
1. MCP Server Definition
python
import asyncioimport jsonfrom mcp.client.streamable_http import streamablehttp_clientfrom mcp import ClientSessionclass OrigeneClient:"""Origene-KEGG MCP Client"""def __init__(self, server_url: str, api_key: str):self.server_url = server_urlself.api_key = api_keyself.session = Noneasync def connect(self):try:self.transport = streamablehttp_client(url=self.server_url,headers={"SCP-HUB-API-KEY": self.api_key})self.read, self.write, self.get_session_id = await self.transport.__aenter__()self.session_ctx = ClientSession(self.read, self.write)self.session = await self.session_ctx.__aenter__()await self.session.initialize()return Trueexcept Exception as e:print(f"✗ connect failure: {e}")return Falseasync def disconnect(self):try:if self.session:await self.session_ctx.__aexit__(None, None, None)if hasattr(self, 'transport'):await self.transport.__aexit__(None, None, None)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. Gene Search Workflow
Implementation:
python
## Initialize clientclient = OrigeneClient("https://scp.intern-ai.org.cn/api/v1/mcp/5/Origene-KEGG","<your-api-key>")if not await client.connect():print("connection failed")exit()## Search KEGG genes databaseresult = await client.session.call_tool("kegg_find",arguments={"db": "genes","query": "p53","option": ""})result_data = client.parse_result(result)print(result_data)await client.disconnect()
Tool Descriptions
Origene-KEGG Server:
kegg_find: Search KEGG database- Args:
db(str): Database to search (e.g., "genes", "pathway")query(str): Search queryoption(str): Additional options- Returns: KEGG gene entries with pathway and functional information
Use Cases
- Pathway analysis
- Gene functional annotation
- Disease gene identification
- Systems biology research