---
name: bijection-liner-convex
description: "Evaluate and integrate the Liner component with Bijection."
---

# Liner

Use Liner's OAuth-backed MCP search and research tools from Convex actions with the access token kept in Convex env.

This is an upstream package. It has not been adapted or qualified for Bijection.

- Package: liner-convex
- Source: https://github.com/mjkang-estrella/liner-convex
- npm: https://www.npmjs.com/package/liner-convex
- Directory: https://bijection.com/components/liner-convex

Read the upstream README for setup, license, and compatibility before using it.

## Integration workflow

1. Read the source README and package manifest at the recorded revision.
2. Confirm the required SDK, dependency availability, and runtime compatibility.
3. Follow the component's documented setup and configuration. Never invent an npm install command from a catalog package name.
4. Keep credentials in the project's existing secret store.
5. Follow the project's execution rules for verification and report what was actually checked.

## Original upstream skill

The following guidance describes liner-convex. Its installation commands and APIs refer to the upstream package. Evaluate compatibility with the Bijection source separately.


# Liner

## Instructions

Liner Convex wraps Liner's OAuth-backed MCP tools as a reusable Convex Component. Convex actions can call web search, scholar search, Quick Answer Agent, Search Agent, and Deep Research Agent while keeping LINER_MCP_ACCESS_TOKEN in Convex environment configuration. MCP tool responses are normalized into JavaScript objects for use in Convex apps.

### Installation

```bash
npm install liner-convex
```

## Use cases

- Build source-backed chat and copilot answers with current web results and citations.
- Power RAG pipelines with fresh web or scholarly retrieval from Convex actions.
- Generate citation-rich research reports through Liner Deep Research Agent.
- Add quick factual answers and source-backed search to support or knowledge-base workflows.
- Call Liner's OAuth-backed MCP tools from Convex without exposing the access token to client code.

## How it works

The component wraps Liner's OAuth-backed remote MCP server in Convex actions. You configure it in `convex.config.ts` with `LINER_MCP_ACCESS_TOKEN` from Convex environment variables, then instantiate a `LinerClient` in your actions.

The client provides methods like `searchWeb()` for structured web results, `searchScholar()` for academic sources, `quickAnswerAgent()` for short source-backed factual answers, `searchAgent()` for cited synthesis, and `deepResearchAgent()` for multi-step research. Each method performs a server-side MCP `tools/call` request to Liner with OAuth Bearer authentication.

MCP text content is parsed as JSON when possible. Search results include normalized `request_id` and `total_count` aliases, and agent event arrays are aggregated into text, answer, references, message metadata, and raw events for use in Convex apps.

## When NOT to use

- When a simpler built-in solution exists for your specific use case
- If you are not using Convex as your backend
- When the functionality provided by Liner is not needed

## Resources

- [npm package](https://www.npmjs.com/package/liner-convex)
- [GitHub repository](https://github.com/mjkang-estrella/liner-convex)
- [Live demo](https://github.com/mjkang-estrella/liner-convex/tree/main/example)
- [Convex Components Directory](https://www.convex.dev/components/liner-convex)
- [Convex documentation](https://docs.convex.dev)