finn-seller-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FINN_BACKEND | No | Search backend to use. The official backend is currently a stub. | scraper |
| FINN_BASE_URL | No | Override for tests against a mock server only. | https://www.finn.no |
| FINN_CACHE_DB | No | Path to the search/listing cache database with a 24 hour cache. | …/finn-mcp/cache.sqlite |
| FINN_CHROMIUM | No | Path to a custom Chromium/Chrome binary. | Playwright's Chromium |
| FINN_HEADLESS | No | Set to 0 to show the browser for all calls for debugging. | 1 |
| XDG_DATA_HOME | No | Base directory for the browser profile, drafts, and cache. | ~/.local/share |
| FINN_PROFILE_DIR | No | Persistent Chromium profile directory used to store your finn.no session. | $XDG_DATA_HOME/finn-mcp/browser-profile |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| login_statusA | Check whether the saved browser profile is logged in to finn.no. |
| loginB | Open a visible browser window on finn.no so the USER can log in by hand. Login is passwordless (e-mail + one-time code from login.vend.no). The assistant never types credentials. The session is kept in the local profile. |
| check_duplicateA | Check whether an item was already listed (locally or on the user's finn.no account). |
| confirm_not_duplicateA | Mark a draft as a genuinely different item so publish_draft stops blocking it. |
| create_draftA | Create a LOCAL draft ad (nothing is sent to finn.no yet). |
| suggest_priceA | Market price for an item: median of comparable "Til salgs" ads on finn.no Torget. |
| update_draftC | Change fields of a local draft (e.g. {"price": 1500, "category": "43"}). |
| list_draftsB | List local drafts. |
| preview_draftA | Show a draft exactly as it would be sent to finn.no, plus blocking problems. |
| push_draftA | Upload a local draft to finn.no as a PRIVATE draft (not published, not visible). |
| suggest_categoryA | finn.no's category suggestions based on the draft's uploaded photos (needs push_draft first). |
| publish_draftA | Publish a draft on finn.no. PUBLIC. |
| my_adsC | List the user's ads on finn.no ("Mine annonser") with state and available actions. |
| ad_actionA | Run an action finn.no offers for one of the user's ads (names come from my_ads, e.g. DELETE). |
| search_finnA | Search finn.no within a vertical. |
| get_listingA | Fetch a full listing by its |
| save_searchB | Persist a named search for repeated monitoring via |
| list_saved_searchesA | Return every saved search in the local store, ordered by name. |
| delete_saved_searchA | Delete a saved search by name. Returns True if it existed. |
| check_saved_searchA | Run a saved search, return only listings that are new since the last check. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 20 tools
Most tools target clearly distinct resources and lifecycle steps (drafting, publishing, ad actions, search, saved searches, auth). The only plausible confusion is between push_draft, publish_draft, and ad_action, but descriptions explicitly distinguish private upload vs public publish vs post-publish actions, so boundaries remain clear.
The dominant pattern is verb_noun (list_drafts, preview_draft, create_draft, update_draft, push_draft, publish_draft, suggest_price, save_search, check_duplicate, search_finn, get_listing). A few deviations exist (ad_action, my_ads, login_status, bare-verb login), but they remain readable and contextually obvious.
20 tools is on the heavy side, but the server genuinely spans several distinct capabilities—auth, local drafting, publishing, marketplace search, and saved-search monitoring—and no tool appears redundant. Slightly over what a single-purpose server would need, but reasonable for this scope.
The seller lifecycle is well covered: create/update/preview drafts, category and price suggestions, duplicate detection, private push, publish, and ad actions plus listing/browse/saved-search CRUD. Minor gaps exist (no single-draft getter, no buyer messaging, no explicit photo curation tool), but agents can work around them.