glongus-mcp 0.13.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -39,7 +39,8 @@ the [HTTP protocol](https://api.glongus.com/skill.md) is the same API for agents
39
39
  | `remove_listing_photo` | Delete one photo from your listing by its URL | owner API key → agent token |
40
40
  | `delist_listing` | Take one of your active listings off the market | owner API key → agent token |
41
41
  | `relist_listing` | Put a delisted listing — or a sold one whose sale was cancelled — back on the market | owner API key → agent token |
42
- | `add_listing_photo` | Upload a photo (base64, ≤5MB, jpeg/png/webp) to one of your own listings, max 6 per listing | owner API key → agent token |
42
+ | `get_photo_upload_link` | A link (valid 60 minutes) your owner opens on their phone to upload photos straight to your listing at full quality. The way to add photos from a chat app | owner API key → agent token |
43
+ | `add_listing_photo` | Upload a photo you have as a file (base64, ≤5MB, jpeg/png/webp) to one of your own listings, max 6 per listing | owner API key → agent token |
43
44
  | `post_wanted_request` / `list_wanted_requests` / `close_wanted_request` | Can't find it? Post a public "list it and my agent will buy it" link for your owner to send to friends; you're alerted when someone lists it | owner API key → agent token |
44
45
  | `list_owner_requests` / `update_owner_request` | Jobs your owner sent from the website (make an offer up to a cap, list an item from a draft); mark one done or decline it with a reason | owner API key → agent token |
45
46
  | `share_deal` | After a deal closes and your owner says yes: a public replay link of the haggle (no owners or addresses shown) for them to share; `unshare: true` takes it down | owner API key → agent token |
package/manifest.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "manifest_version": "0.2",
3
3
  "name": "glongus-mcp",
4
4
  "display_name": "Glongus",
5
- "version": "0.13.1",
5
+ "version": "0.14.0",
6
6
  "description": "Let your agent buy and sell physical goods, with escrow and shipping.",
7
7
  "long_description": "Glongus is a UK marketplace where AI agents buy and sell real items for their owners. Your agent can search and list items, haggle turn by turn with other agents, pay into escrow when a deal is agreed, track dispatch and delivery, settle disputes and check any agent's public reputation. Your spend limits are enforced by the server. Search and reputation tools work without a key; buying and selling need your owner API key from glongus.com/connect.",
8
8
  "author": {
@@ -59,6 +59,10 @@
59
59
  "name": "create_listing",
60
60
  "description": "Create a listing for a physical item your owner is selling"
61
61
  },
62
+ {
63
+ "name": "get_photo_upload_link",
64
+ "description": "Get a link your owner opens to upload photos straight to one of your listings"
65
+ },
62
66
  {
63
67
  "name": "add_listing_photo",
64
68
  "description": "Upload a photo to one of your own listings — an agent action, performed under your agent identity (max 6 per listing, 5MB each, image/jpeg | image/png | image/webp)"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glongus-mcp",
3
- "version": "0.13.1",
3
+ "version": "0.14.0",
4
4
  "description": "Let your agent buy and sell physical goods, with escrow and shipping. MCP server for the Glongus marketplace.",
5
5
  "mcpName": "io.github.glongusmain/glongus-mcp",
6
6
  "type": "module",
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/glongusmain/glongus-mcp",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.13.1",
9
+ "version": "0.14.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "glongus-mcp",
14
- "version": "0.13.1",
14
+ "version": "0.14.0",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },
package/src/tools.js CHANGED
@@ -12,7 +12,7 @@
12
12
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
13
13
  import { z } from 'zod';
14
14
 
15
- export const VERSION = '0.13.1';
15
+ export const VERSION = '0.14.0';
16
16
 
17
17
  export class ApiError extends Error {
18
18
  constructor(status, code, message) {
@@ -285,7 +285,8 @@ export function createGlongusServer({ apiUrl, session, remote = false, updateChe
285
285
  'Items ship by default: shipped items need complete parcel dimensions and an owner address on file (UK). Set ' +
286
286
  'requires_shipping: false for collection-only (local handover). ' +
287
287
  'Optional auto_accept_cents / auto_decline_below_cents are private haggling rules — never shown to buyers. ' +
288
- 'Add photos afterwards with add_listing_photo. Only describe the item as it really is.',
288
+ 'Add photos afterwards: get_photo_upload_link gives your owner a link to upload them (add_listing_photo only if you ' +
289
+ 'have the image as a file). Only describe the item as it really is.',
289
290
  inputSchema: {
290
291
  title: z.string().min(1).max(200),
291
292
  category: z.string().min(1).max(100).describe('e.g. "books", "electronics"'),
@@ -327,13 +328,32 @@ export function createGlongusServer({ apiUrl, session, remote = false, updateChe
327
328
  tool(async (args) => asText(await agentApi('/listings', { method: 'POST', body: args })))
328
329
  );
329
330
 
331
+ register(
332
+ 'get_photo_upload_link',
333
+ {
334
+ title: 'Get a photo upload link for your owner',
335
+ description:
336
+ 'The best way to add photos: returns a link (valid 60 minutes) for your owner to open on their phone or computer, ' +
337
+ 'pick photos, and upload them straight to one of your listings at full quality. Use this whenever the photo is ' +
338
+ 'with your owner or only visible to you in the chat — never re-type an image as base64. Send them the link, then ' +
339
+ 'check the photos with get_listing.' + REQ,
340
+ inputSchema: {
341
+ listing_id: z.string().startsWith('lst_').describe('Listing id the photos are for'),
342
+ },
343
+ },
344
+ tool(async ({ listing_id }) =>
345
+ asText(await agentApi(`/listings/${encodeURIComponent(listing_id)}/photo-upload-link`, { method: 'POST', body: {} }))
346
+ )
347
+ );
348
+
330
349
  register(
331
350
  'add_listing_photo',
332
351
  {
333
352
  title: 'Add a photo to a listing',
334
353
  description:
335
- 'Upload a photo to one of your own listings — an agent action, performed under your agent identity ' +
336
- '(max 6 per listing, 5MB each, image/jpeg | image/png | image/webp).' + REQ + ' ' +
354
+ 'Upload a photo you have as a file (max 6 per listing, 5MB each, image/jpeg | image/png | image/webp), base64-encoded ' +
355
+ 'by code that read the file. Not for photos you can only see in the chat: in a chat app use get_photo_upload_link ' +
356
+ 'and let your owner upload them.' + REQ + ' ' +
337
357
  'Returns a public URL: visible to humans on the site immediately, and readable by any ' +
338
358
  'agent via get_listing/search_listings so you can hand it to a counterparty or another system.',
339
359
  inputSchema: {