Content
# AdsPower LocalAPI MCP Server
A Model Context Protocol server that AdsPower browser LocalAPI. This server enables LLMs to interact with start browser, create browser, update browser fingerprint config ...
## Usage with Claude Desktop
Talk to LLMs to create browser: `Create an Android UA browser using Chrome 134`

Talk to LLMs to create browser: `Help me with random UA, random fingerprint, random cookie generation, create 3 browsers, use 134 cores, and open them`

## How to use?
### Requirements
- [AdsPower](https://www.adspower.com/?source=github)
- Node version 18 or greater
### Installation
To use with Claude Desktop, add the server config:
On macOS: `~/Library/Application Support/Claude/claude_desktop_config.json` On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
#### MacOS / Linux
```bash
{
"mcpServers": {
"adspower-local-api": {
"command": "npx",
"args": ["-y", "local-api-mcp-typescript"]
}
}
}
```
#### Windows
```bash
{
"mcpServers": {
"adspower-local-api": {
"command": "cmd",
"args": ["/c", "npx", "-y", "local-api-mcp-typescript"]
}
}
}
```

or use in Cursor

## Development
```bash
# git clone
git clone https://github.com/AdsPower/local-api-mcp-typescript.git
# install package
cd local-api-mcp-typescript && npx pnpm i
# build
npm run build
```
```bash
# Add the server to your claude_desktop_config.json
"mcpServers": {
"adspower-local-api": {
"command": "node",
"args": [
"<Replace Your Project Path>/local-api-mcp-typescript/build/index.js"
]
}
}
```
## Components
### Tools
- **open_browser**
- Open the browser
- Inputs:
- `serialNumber` (string, optional): The serial number of the browser to open
- `userId` (string, optional): The browser id of the browser to open
- **close_browser**
- Close the browser
- Input:
- `userId` (string): The browser id of the browser to stop
- **create_browser**
- Create a browser
- Inputs:
- `groupId` (string): The group id for the browser
- `domainName` (string, optional): The domain name
- `openUrls` (string[], optional): URLs to open
- `cookie` (string, optional): Browser cookie
- `username` (string, optional): Username
- `password` (string, optional): Password
- `system` (string, optional): System type
- `name` (string, optional): Browser name
- `country` (string, optional): Country
- `sysAppCateId` (string, optional): System application category id
- `storageStrategy` (number, optional): Storage strategy
- `userProxyConfig` (object): Proxy configuration
- `fingerprintConfig` (object, optional): Browser fingerprint configuration
- **update_browser**
- Update the browser
- Inputs: Same as create_browser, plus:
- `userId` (string): The user id of the browser to update
- **delete_browser**
- Delete the browser
- Input:
- `userIds` (string[]): The user ids of the browsers to delete
- **get_browser_list**
- Get the list of browsers
- Inputs:
- `groupId` (string, optional): The group id of the browser
- `size` (number, optional): The size of the page
- `id` (string, optional): The id of the browser
- `serialNumber` (string, optional): The serial number of the browser
- `sort` (enum, optional): Sort field ('serial_number' | 'last_open_time' | 'created_time')
- `order` (enum, optional): Sort order ('asc' | 'desc')
- **get-opened_browser**
- Get the list of opened browsers
- No inputs required
- **move_browser**
- Move browsers to a group
- Inputs:
- `groupId` (string): The target group id
- `userIds` (string[]): The browser ids to move
- **create_group**
- Create a browser group
- Inputs:
- `groupName` (string): The name of the group to create
- `remark` (string, optional): The remark of the group
- **update_group**
- Update the browser group
- Inputs:
- `groupId` (string): The id of the group to update
- `groupName` (string): The new name of the group
- `remark` (string | null, optional): The new remark of the group, set null to clear
- **get_group_list**
- Get the list of groups
- Inputs:
- `name` (string, optional): The name of the group
- `size` (number, optional): The size of the page
- **get-application_list**
- Get the list of applications
- Input:
- `size` (number, optional): The size of the page
### Advanced Configuration Types
#### UserProxyConfig
- `proxy_soft` (enum): The proxy soft type ('brightdata', 'brightauto', 'oxylabsauto', etc.)
- `proxy_type` (enum, optional): Proxy type ('http', 'https', 'socks5', 'no_proxy')
- `proxy_host` (string, optional): Proxy host
- `proxy_port` (string, optional): Proxy port
- `proxy_user` (string, optional): Proxy username
- `proxy_password` (string, optional): Proxy password
- `proxy_url` (string, optional): Proxy URL
- `global_config` (enum, optional): Global config ('0' | '1')
#### FingerprintConfig
- `automatic_timezone` (enum, optional): Automatic timezone ('0' | '1')
- `timezone` (string, optional): Timezone
- `language` (string[], optional): Languages
- `flash` (string, optional): Flash version
- `fonts` (string[], optional): Font list
- `webrtc` (enum, optional): WebRTC setting ('disabled' | 'forward' | 'proxy' | 'local')
- `browser_kernel_config` (object, optional):
- `version` (string, optional): Browser version
- `type` (enum, optional): Browser type ('chrome' | 'firefox')
- `random_ua` (object, optional):
- `ua_version` (string[], optional): User agent versions
- `ua_system_version` (enum[], optional): System versions
- `tls_switch` (enum, optional): TLS switch ('0' | '1')
- `tls` (string, optional): TLS configuration
Connection Info
You Might Also Like
MarkItDown MCP
Converting files and office documents to Markdown.
Time
Obtaining current time information and converting time between different...
Filesystem
Model Context Protocol Servers
Sequential Thinking
Offers a structured approach to dynamic and reflective problem-solving,...
Git
Model Context Protocol Servers
Context 7
Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors