Skip to main content
Glama
biocontext-ai

BioContextAI Knowledgebase MCP

Official

bc_get_antibody_list

Search the Antibody Registry to find antibodies by gene symbol, protein name, or UniProt ID. Retrieve catalog numbers, vendors, clonality, applications, and metadata for research.

Instructions

Search Antibody Registry for antibodies. Returns catalog numbers, vendors, clonality, applications, and metadata.

Returns: dict: Search results containing list of antibodies with catalog numbers, vendors, clonality, applications, metadata or error message.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
searchYesGene symbol, protein name, or UniProt ID (e.g., 'TRPC6')
pageNoPage number for pagination (default: 1)
sizeNoNumber of results per page (default: API default)

Implementation Reference

  • Core implementation of the `get_antibody_list` tool handler, which queries the Antibody Registry API for antibodies based on gene symbol, protein name, or UniProt ID. This becomes `bc_get_antibody_list` when core_mcp is imported under the 'bc' prefix in the main app.
    @core_mcp.tool() def get_antibody_list( search: Annotated[str, Field(description="Gene symbol, protein name, or UniProt ID (e.g., 'TRPC6')")], page: Annotated[int | None, Field(description="Page number for pagination (default: 1)")] = None, size: Annotated[int | None, Field(description="Number of results per page (default: API default)")] = None, ) -> dict: """Search Antibody Registry for antibodies. Returns catalog numbers, vendors, clonality, applications, and metadata. Returns: dict: Search results containing list of antibodies with catalog numbers, vendors, clonality, applications, metadata or error message. """ search = search.strip() if not search: return {"error": "Search term cannot be empty."} url = "https://www.antibodyregistry.org/api/fts-antibodies" params = {"q": search} if page is not None: params["page"] = page if size is not None: params["size"] = size headers = {"accept": "application/json"} try: response = requests.get(url, params=params, headers=headers) response.raise_for_status() return response.json() except requests.exceptions.RequestException as e: return {"error": f"Failed to fetch antibody information from Antibody Registry: {e!s}"}
  • Registers the antibodyregistry tools (including `get_antibody_list`) into `core_mcp` by importing the module, triggering the @tool decorator execution.
    from .antibodyregistry import *
  • Imports `core_mcp` (containing `get_antibody_list`) into the main `mcp_app` under the slugified name 'bc', prefixing tools as `bc_get_antibody_list`.
    for mcp in [core_mcp, *(await get_openapi_mcps())]: await mcp_app.import_server( mcp, slugify(mcp.name), ) logger.info("MCP server setup complete.")
  • Pydantic schema definitions for input parameters and return type of the tool.
    def get_antibody_list( search: Annotated[str, Field(description="Gene symbol, protein name, or UniProt ID (e.g., 'TRPC6')")], page: Annotated[int | None, Field(description="Page number for pagination (default: 1)")] = None, size: Annotated[int | None, Field(description="Number of results per page (default: API default)")] = None, ) -> dict:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/biocontext-ai/knowledgebase-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server