Skip to main content
Glama
lordbasilaiassistant-sudo

base-lp-locker-mcp

base-lp-locker-mcp

An MCP server for AI agents to lock, manage, and withdraw LP tokens on Base. Trustless liquidity locking with time-based unlock.

Install

npx -y base-lp-locker-mcp

Related MCP server: baselings-mcp

Tools

Tool

Description

lock_lp

Lock LP tokens for a specified duration (handles approval automatically)

get_lock

Get lock details by lock ID

get_user_locks

Get all locks for a wallet address

get_locker_info

Get contract info, fees, and total locks

withdraw_lp

Withdraw LP tokens after lock expires

extend_lock

Extend a lock's duration

Setup

{
  "mcpServers": {
    "base-lp-locker": {
      "command": "npx",
      "args": ["-y", "base-lp-locker-mcp"],
      "env": {
        "DEPLOYER_PRIVATE_KEY": "your-private-key"
      }
    }
  }
}

Use Cases

  • Rug-proof launches: Lock LP tokens to prove liquidity is safe

  • Vesting: Time-lock LP positions for team or investor allocations

  • Trust: Show holders that liquidity cannot be pulled

  • Extend: Add more time to existing locks without withdrawing

Fees

  • Lock fee: 0.001 ETH per lock — goes to platform treasury

  • Gas: ~150k gas per lock, ~80k per withdraw/extend

Contract

  • LPLocker: 0x32049c5B3E107737B8D00346C2241f9F21e9a154 (Base mainnet)

  • Verified on Basescan: View contract

License

MIT

Available Tools

6 tools
extend_lockA

Extend the duration of an existing LP lock. Only the lock owner can extend. Requires DEPLOYER_PRIVATE_KEY env var.

ParametersJSON Schema
NameRequiredDescriptionDefault
lock_idYesThe lock ID to extend
additional_daysYesNumber of additional days to add to the lock duration

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses important behavioral constraints (owner-only, env var requirement) but omits potential side effects, failure conditions (e.g., expired lock, invalid ID), or return behavior. This is adequate but incomplete for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with two short sentences that front-load the core action and then add essential constraints. There is no filler or redundant information, making it highly efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple two-parameter schema and absence of output schema, the description provides enough context for an agent to understand what the tool does and its prerequisites. It stops short of explaining return values or error behavior, but for this simple mutation that is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage for both parameters (lock_id and additional_days) with clear descriptions. The tool description adds no extra semantic meaning beyond what the schema offers, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'Extend the duration of an existing LP lock.' It is easily distinguished from sibling tools such as lock_lp (create) and withdraw_lp (remove), making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context for when to use the tool—on an existing lock to add days—and includes prerequisites like ownership and the DEPLOYER_PRIVATE_KEY env var. However, it does not explicitly mention alternatives or exclusions, though these are implied by the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_lockA

Get details of a specific LP lock by its lock ID. Returns owner, token, amount, unlock time, and status.

ParametersJSON Schema
NameRequiredDescriptionDefault
lock_idYesThe lock ID to query

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries full burden. It discloses the return fields (owner, token, amount, unlock time, status) but doesn't explicitly state that it's a read-only operation or describe behavior when the lock ID doesn't exist. It does add some behavioral context beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of nine words plus a second sentence listing return fields. It is front-loaded and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter with one parameter, the description is adequate. It specifies the resource and return fields. However, it lacks information about error handling or not-found responses, and there is no output schema to fill that gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with lock_id described as 'The lock ID to query'. The description repeats the concept but doesn't add additional semantics like format or validation rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves details of a specific LP lock by its ID, listing the returned fields. This distinguishes it from sibling tools like get_user_locks (which lists locks for a user) and get_locker_info (which gets locker-level info).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used when you have a lock ID and need its details, but it doesn't explicitly state when not to use alternatives or mention alternatives like get_user_locks for listing all locks. It gives clear context but no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_locker_infoA

Get LPLocker contract info — current fee, total locks, treasury address. Use to verify the contract is live and check fees before locking.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full transparency burden. It discloses what data is returned (fee, total locks, treasury address) and implies a read-only, non-mutating operation. However, it does not explicitly state that it has no side effects, what happens if the contract is not live, or any error conditions. This is adequate for a simple info-getter but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the purpose and followed by usage guidance. Every word earns its place—no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema), the description is fairly complete: it states what the tool does, what data it returns, and when to use it. It does not describe return types or error handling, but for a no-param read-only contract info getter, this is sufficient. The absence of an output schema is partially mitigated by listing the returned fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters and the schema is empty with 100% coverage. The description does not need to explain parameters. The baseline for 0 params is 4, and no additional parameter information is necessary.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Get LPLocker contract info — current fee, total locks, treasury address.' It uses a specific verb ('Get') and resource ('LPLocker contract info'), and the list of returned data distinguishes it from siblings like lock_lp or get_lock, which handle individual locks or actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage context: 'Use to verify the contract is live and check fees before locking.' This gives a clear when-to-use scenario, though it does not explicitly mention alternatives or exclusions. Since the sibling tools are obviously different (locking, withdrawal, extending), the guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_user_locksA

Get all lock IDs for a given wallet address. Returns an array of lock IDs that can be queried individually with get_lock.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address to query locks for

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It clearly indicates a read-only operation via 'Get' and states the return type ('an array of lock IDs'), which implies no side effects. It also briefly explains the relationship to get_lock. While it does not mention error handling or empty results, the description provides sufficient transparency for a simple query tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary purpose, followed by a useful note about the return value and how to use it. Every sentence contributes to understanding, with no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one parameter, no output schema) and the sibling tools, the description is complete. It explains what the tool returns and how to follow up with get_lock, covering all essential aspects for an agent to use it correctly and effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes the only parameter 'address' with 'Wallet address to query locks for.' The description does not add additional meaning beyond rephrasing 'given wallet address.' Since schema coverage is 100%, the baseline applies, and the description offers no extra semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'Get all lock IDs for a given wallet address.' It also distinguishes itself from the sibling tool get_lock by noting that the returned IDs can be queried individually with get_lock, which clarifies its role as a list/query tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: this tool fetches all lock IDs for a wallet address, and then mentions that individual locks can be queried with get_lock. This provides a workflow hint and implicitly contrasts with get_lock. However, it does not explicitly mention when to use this over other siblings like get_locker_info, though the distinction is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lock_lpA

Lock LP tokens in the LPLocker contract on Base. Handles ERC-20 approval automatically. Requires DEPLOYER_PRIVATE_KEY env var. Fee: 0.001 ETH per lock.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesLP token contract address to lock
amountYesAmount of LP tokens to lock (human-readable, e.g. '1000')
duration_daysYesLock duration in days

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and covers important behaviors: automatic ERC-20 approval, required DEPLOYER_PRIVATE_KEY, and a fee of 0.001 ETH. It does not mention return values or reversibility, but the disclosed operational details are relevant and useful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences each deliver distinct value: purpose, handling/requirements, and cost. The description is front-loaded with the action and stays under 30 words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool without an output schema, the description provides sufficient context: what, where, prerequisites, and cost. It does not explain post-lock verification or edge cases, but these are not critical given the tool's simplicity and sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for each parameter (token address, amount, duration). The description adds no additional parameter-level meaning, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Lock LP tokens'), the target resource ('LPLocker contract on Base'), and distinguishes itself from sibling tools like withdraw_lp and extend_lock by focusing on the locking operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear context is provided: it says this handles approval automatically, requires a specific env var, and costs a fee. However, it does not explicitly mention when not to use it or contrast with alternatives, so it lacks full explicit exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

withdraw_lpA

Withdraw LP tokens from an expired lock. Only the lock owner can withdraw. Requires DEPLOYER_PRIVATE_KEY env var.

ParametersJSON Schema
NameRequiredDescriptionDefault
lock_idYesThe lock ID to withdraw from

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses key behavioral traits: ownership restriction, env var requirement, and the 'expired lock' precondition. It does not detail post-withdrawal effects or return behavior, but the essential safety and authorization context is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, information-dense sentences. The main action leads, followed by two critical constraints. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with a single parameter, and the description covers the necessary operational context (who, when, what). Without an output schema, a return-type note would be useful, but overall the description is sufficiently complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes the only parameter (lock_id) with 100% coverage. The description adds no extra parameter-level detail, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Withdraw LP tokens from an expired lock') with a specific verb and resource, distinctly differentiating it from sibling tools like lock_lp and extend_lock.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear usage context: only for expired locks, only the owner can withdraw, and a required env var. It does not explicitly name alternatives or exclusion scenarios, but the conditions are precise.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv1.0.0
    • First observedextend_lock
    • First observedget_lock
    • First observedget_locker_info
    • First observedget_user_locks
    • First observedlock_lp
    • First observedwithdraw_lp

TDQS

A4.3/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a distinct purpose: locking, querying specific locks, listing user locks, checking contract info, withdrawing, and extending. No overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (lock_lp, get_lock, get_user_locks, get_locker_info, withdraw_lp, extend_lock).

Tool Count5/5

Six tools is well-scoped for an LP locker management server, covering core actions without unnecessary bloat.

Completeness5/5

The surface covers the full LP lock lifecycle: create (lock), read (get_lock, get_user_locks, get_locker_info), update (extend_lock), and delete/terminal action (withdraw_lp). No significant gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    MCP server for AI agents to play Baselings, a yield-generating pet game on Base chain. Enables agents to manage workers, claim yields, and execute strategies to earn USDC, ETH, or BTC.
    49
    11 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides AI agents with real-time access to DEX liquidity pool data, enabling smarter trading, analytics, and automated strategies.
    10
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives AI agents real-time access to DeFi across multiple chains, enabling non-custodial crypto trading, portfolio queries, and transaction execution.
    5 npm
    7
    MIT