Koskamo

FinPortal.mk MCP

Read-only access to attributed financial news, original FinPortal.mk articles, and metadata for the Macedonian Stock Exchange (MSE) and central bank releases. It supports deterministic company lookups and provides source-backed financial data for AI agents, with results as stored snapshots rather than real-time feeds.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

FinPortal.mk MCP logo, by FinPortal.mkVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by FinPortal.mk
MCP endpoint (Streamable HTTP)
https://finportal.mk/api/mcp
Vendor documentation

What you can do with it

  • Retrieve public Macedonian Stock Exchange (MSE) and SEI-Net announcement metadata
  • Access stored international financial-news translations and short summaries
  • Perform deterministic MSE company lookup by ticker or name
  • Read published FinPortal editorial articles and public document metadata

Source and maintenance

Vendor evidenceRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
mk.finportal/financial-intelligence 1.1.0
MCP protocol
2025-06-18
Tools
16 advertised
Resources
4 advertised
Resource templates
0 advertised
Prompts
4 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "prompts": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Tools

16 advertised

search_finportal — Пребарај FinPortal.mk
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Search FinPortal's already-stored public records when an agent needs evidence for a topic, event, or company. Select all, domestic, global, or editorial scope; results include source, date, URL, and only permitted excerpts—not third-party full text or live market data.

search_finportal input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "minLength": 2
    },
    "scope": {
      "enum": [
        "all",
        "domestic",
        "global",
        "editorial"
      ],
      "type": "string",
      "default": "all"
    }
  }
}
search_finportal annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_latest_news — Најнови вести
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Use for a concise feed of the most recent stored Macedonian business and international news. Results are saved snapshots, not a live feed, and retain attribution and original links.

get_latest_news input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    }
  }
}
get_latest_news annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_domestic_news — Македонски деловни вести
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Use when the question concerns Macedonian public-company announcements or official statistics/audit releases. Filter by MSE, SEI-Net, DZS, or DZR; only public metadata already shown on FinPortal is returned.

get_domestic_news input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    },
    "category": {
      "enum": [
        "all",
        "mse",
        "seinet",
        "dzs",
        "dzr"
      ],
      "type": "string",
      "default": "all"
    }
  }
}
get_domestic_news annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_global_news — Меѓународни вести
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Use for stored international financial news. Returns FinPortal's translated title and short translated summary with publisher, date, and original URL; never returns the original publisher's full text.

get_global_news input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    }
  }
}
get_global_news annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_editorial_articles — Статии од редакцијата
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List original FinPortal editorial articles that are currently published. Use get_editorial_article with an ID or slug only when the full FinPortal-owned article is needed.

get_editorial_articles input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    }
  }
}
get_editorial_articles annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_editorial_article — Цела редакциска статија
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Retrieve the full body of one published, FinPortal-authored editorial article by ID or slug. This does not expose third-party articles or unpublished drafts.

get_editorial_article input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "idOrSlug"
  ],
  "properties": {
    "idOrSlug": {
      "type": "string",
      "maxLength": 255,
      "minLength": 1
    }
  }
}
get_editorial_article annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_blog_story_summary — Краток преглед на сторија
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Retrieve the public summary for a published FinPortal story by slug. Returns a short displayed excerpt and source link only; do not use it to retrieve third-party full text.

get_blog_story_summary input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "maxLength": 500,
      "minLength": 1
    }
  }
}
get_blog_story_summary annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_company_news — Вести за компанија
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Use for public news and editorial mentions of a company. Macedonian Stock Exchange issuers resolve by exact ticker, Cyrillic name, Latin transliteration, and curated aliases; pass company or ticker, and cite each returned source/date/URL.

get_company_news input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "company"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    },
    "ticker": {
      "type": "string",
      "maxLength": 20,
      "minLength": 1
    },
    "company": {
      "type": "string",
      "maxLength": 120,
      "minLength": 2
    }
  }
}
get_company_news annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_company_timeline — Временска линија за компанија
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Build a newest-first timeline of stored public mentions for a company or ticker. Use get_company_intelligence when a bounded date range and records grouped by source category are needed; this tool does not forecast price or performance.

get_company_timeline input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "company"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    },
    "ticker": {
      "type": "string",
      "maxLength": 20,
      "minLength": 1
    },
    "company": {
      "type": "string",
      "maxLength": 120,
      "minLength": 2
    }
  }
}
get_company_timeline annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
resolve_company — Разреши компанија
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Resolve a Macedonian Stock Exchange issuer from an exact ticker, Macedonian Cyrillic name, Latin transliteration, or curated alias. Returns candidates when an alias is ambiguous; it never guesses and does not return prices.

resolve_company input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1
    }
  }
}
resolve_company annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_company_intelligence — Компанија: извори и вести
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Create a bounded, source-attributed evidence package for a Macedonian Stock Exchange issuer. Resolves Cyrillic/Latin names and ticker, filters stored filings, news, FinPortal editorial, public stories, and active public document metadata by date range, and groups results by source. Use for company research; this is not live market data, investment advice, or a completeness guarantee.

get_company_intelligence input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "company"
  ],
  "properties": {
    "days": {
      "type": "integer",
      "default": 90,
      "maximum": 1095,
      "minimum": 1
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    },
    "company": {
      "type": "string",
      "maxLength": 120,
      "minLength": 2
    }
  }
}
get_company_intelligence annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_mse_announcements — Објави од Македонска берза
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List stored Macedonian Stock Exchange announcement metadata with publication date and original link. Only the short description already displayed by FinPortal is returned, never the full third-party announcement.

get_mse_announcements input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    }
  }
}
get_mse_announcements annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_seinet_filings — Објави од SEI-Net
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List stored SEI-Net public filing metadata with date and original link. Use this for issuer disclosure discovery; do not treat the excerpt as a complete filing.

get_seinet_filings input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    }
  }
}
get_seinet_filings annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_dzs_releases — Објави од ДЗС
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List stored State Statistical Office of Macedonia release metadata with date and original link. This tool does not expose full reports or calculate new statistics.

get_dzs_releases input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    }
  }
}
get_dzs_releases annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_dzr_reports — Извештаи од ДЗР
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List stored State Audit Office report metadata with date and source link. Use for public audit-report discovery; full third-party report text is not returned.

get_dzr_reports input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1
    }
  }
}
get_dzr_reports annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_source_policy — Извори и правила за податоци
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Return the authoritative list of enabled data sources, exposed fields, source attribution, reuse restrictions, and disabled market-data categories. Check this before claiming that MCP provides quotes, indices, currency rates, or full third-party text.

get_source_policy input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
get_source_policy annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

4 advertised

financial_brief — Краток финансиски преглед

Advertised by the server during the last successful anonymous check.

Создава краток преглед користејќи само достапни и датирани FinPortal извори.

No arguments advertised.

company_dossier — Преглед на компанија

Advertised by the server during the last successful anonymous check.

Организира јавни вести и објави по компанија без тврдења што не се поткрепени со извор.

company
No description (required)
news_digest — Преглед на вести со извори

Advertised by the server during the last successful anonymous check.

Групира вести по тема и ги задржува линковите до изворите.

topic
No description (required)
source_cited_summary — Резиме со проверливи извори

Advertised by the server during the last successful anonymous check.

Создава кратко резиме со јасно одвоени цитирани факти и неизвесности.

question
No description (required)

Resources

4 advertised

source-policy — Извори и дозволен опсег на податоци

Advertised by the server during the last successful anonymous check.

Полиња изложени по извор и ограничувања.

source-policy URI
finportal://policy/sources

MIME type: application/json

data-usage — Ограничувања и свежина на податоците

Advertised by the server during the last successful anonymous check.

Ограничувања за свежина, изворен текст и финансиски употреби.

data-usage URI
finportal://policy/data-usage

MIME type: text/plain

latest-news — Најнови складирани вести

Advertised by the server during the last successful anonymous check.

Кратки, атрибуирани метаподатоци од јавните вести на FinPortal.

latest-news URI
finportal://news/latest

MIME type: application/json

editorial-articles — Најнови статии од редакцијата

Advertised by the server during the last successful anonymous check.

Јавно објавени оригинални статии од редакцијата.

editorial-articles URI
finportal://articles/editorial

MIME type: application/json

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1112 ms
95th percentile latency
1112 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1112 ms · metadata changed · 16 tool(s), 4 resource(s), 0 resource template(s), 4 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http finportal-mk-mcp https://finportal.mk/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add finportal-mk-mcp --url https://finportal.mk/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable finportal-mk-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "finportal-mk-mcp": {
      "url": "https://finportal.mk/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "finportal-mk-mcp": {
      "type": "streamableHttp",
      "url": "https://finportal.mk/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start finportal-mk-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "finportal-mk-mcp": {
      "type": "http",
      "url": "https://finportal.mk/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http finportal-mk-mcp https://finportal.mk/api/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "finportal-mk-mcp": {
      "url": "https://finportal.mk/api/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "finportal-mk-mcp": {
      "serverUrl": "https://finportal.mk/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like FinPortal.mk MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run FinPortal.mk MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing